Exception in thread "main" java.lang.NullPointerException at java.awt.window.init(Unknown Source) at java.awt.window.<init>(Unknown Source) at java.awt.Frame.<init>(Unknown Source) at java.awt.Frame.<init>(Unknown Source) at javax.swing.JFrame.<init>(Unknown Source) at Runner.main(Runner.java:7)
Here is my code:
Runner.java:
import javax.swing.*;
import java.awt.*;
public class Runner{
public static void main(String[] args){
JFrame gui = new JFrame();
gui.setTitle("Test");
gui.setSize(300, 200);
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ColorPanel panel = new ColorPanel(Color.white);
Container pane = gui.getContentPane();
pane.add(panel);
gui.setVisible(true);
}
}
ColorPanel.java:
import javax.swing.*;
import java.awt.*;
public class ColorPanel extends JPanel{
private Rectangle r1;
private Rectangle r2;
public ColorPanel(Color backColor){
setBackground(backColor);
r1 = new Rectangle(200, 100, 25, 30, Color.red);
r2 = new Rectangle(100, 100, 50, 50, Color.blue);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
r1.fill(g);
r2.draw(g);
}
}
Rectangle.java:
import java.awt.*;
public class Rectangle{
private int x;
private int y;
private int width;
private int height;
private Color color;
public Rectangle(int nx, int ny, int nwidth, int nheight, Color c){
x = nx;
y = ny;
width = nwidth;
height = nheight;
color = c;
}
public void draw(Graphics g){
Color oldColor = g.getColor();
g.setColor(color);
g.drawRect(x, y, width, height);
g.setColor(oldColor);
}
public void fill(Graphics g){
Color oldColor = g.getColor();
g.setColor(color);
g.fillRect(x, y, width, height);
g.setColor(oldColor);
}
public boolean containsPoint(int px, int py){
if(px >= x && px <= (x+width) && py >= y && py <= (py+height)){
return true;
}
return false;
}
public void move(int xAmt, int yAmt){
x += xAmt;
y += yAmt;
}
}
Now, I can't figure out why this code won't work. I am fairly new to Java GUI programming, but I don't see why it has an error.
The following code and it DOES work:
import javax.swing.*;
import java.awt.*;
public class WindowNew{
public static void main(String[] args){
JFrame gui = new JFrame();
gui.setTitle("Test");
gui.setSize(300, 200);
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//ColorPanel panel = new ColorPanel(Color.white);
Arrows panel2 = new Arrows(Color.white);
Container pane = gui.getContentPane();
//pane.add(panel);
pane.add(panel2);
gui.setVisible(true);
}
}
Any help would be nice.

New Topic/Question
Reply




MultiQuote




|