我創建了一個名爲Test的類,很可能是我出錯的地方。在方法中使用awt.Graphics
import javax.swing.JPanel;
import java.awt.*;
public class Test extends JPanel {
Graphics grap;
public void sun()
{
super.paintComponent(grap);
grap.setColor(Color.YELLOW);
grap.fillOval(0,0,20,20);
}
}
正如你可以看到我想要使用的方法的面板的左上角畫一個黃色的「橢圓形」,但我沒有使用的paintComponent方法。現在我嘗試在我的Paint組件方法中實現它,該方法位於名爲Painting的類中。
//import...;
public class Painting extends JPanel{
protected void paintComponent(Graphics g)
{
Test test = new Test();
test.sun();
}
現在我創建了一個主窗口,它將創建一個面板並顯示黃色的橢圓。
//import...
public class main extends JFrame{
public static main(String [] args){
JFrame window = new JFrame();
window.add(new Painting());
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(100,100);
window.setLocationRelativeTo(null);
window.setVisible(true);
}
}
但這不起作用。我有一種感覺,那就是測試中的太陽法。我如何得到這個工作?我看過所有的java書籍,找不到任何可以幫助的東西。
請注意,我不會向該方法添加參數。
謝謝 Tom。
什麼是CelestialDisplayPanel? – thejh
在'Test'中,不會''grap'永遠是'null'? – thejh