2011-04-07 27 views
0

這是我的代碼...我在油漆類有問題

public class Paintexample extends Applet{ 
    private Graphics g; 
    JPanel panel; 

    public void init() 
    { 
     this.setLayout(new BorderLayout()); 
     this.panel=new JPanel(); 
     this.panel.setPreferredSize(new Dimension(1024,500)); 
     this.add(panel); 
     g=this.panel.getGraphics(); 
    } 
    public void Painter(Graphics g2) 
    { 
     g2=this.panel.getGraphics(); 
     g2.setColor(Color.black); 
     g2.drawRect(50, 50, 400, 400); 
    } 

} 

電腦寫這樣的:在線程

異常「主要」 顯示java.lang.NullPointerException 在Paintexample.Painter(Paintexample.java:27) 在Paintexample.init(Paintexample.java:22) 在Main.main(Main.java:15)

我不知道這樣的小程序走的向下.... 顯卡不工作..... 他說,圖形不初始化...

+2

誰是誰,他說,圖形不是ini T' – Bastardo 2011-04-07 14:54:47

+0

你是否在init()之前調用Painter(...)? – RoflcoptrException 2011-04-07 14:55:23

+0

沒有我dident來電畫家() – user650679 2011-04-07 14:57:11

回答

2

我想你想畫的,而不是畫家

public void paint(Graphics g2) { 
    g2.setColor(Color.black); 
    g2.drawRect(50, 50, 400, 400); 

} 
+0

我在這一行後面添加了這一行的init部分 – user650679 2011-04-07 14:58:45

+0

g = this.panel.getGraphics(); – user650679 2011-04-07 15:01:06

+1

@ user650679用小寫字母'p'繪製,不要從'init()調用paint,當applet需要被繪製或刷新時自動調用它。 – 2011-04-07 15:01:18

3

在之前的一個問題中,您可以看到Swing教程的鏈接。我建議你實際閱讀教程。它有幾個部分:

  1. 如何使小程序 - (你應該擴展JApplet的,不是小程序)

  2. 風俗畫 - (這是通過覆蓋一個JPanel的的paintComponent()方法(完成或JComponent的),而不是覆蓋JApplet類的

的油漆()爲進一步幫助你需要提高你的「接受率」 0%太低了!