【发布时间】:2012-11-15 19:06:55
【问题描述】:
我正在尝试创建一个使用 JPanel 的 paintComponent() 绘制形状(下例中为矩形)的程序,但我无法让它工作,也无法发现问题所在。
代码如下:
import javax.swing.*;
import java.awt.*;
public class RandomRec{
JFrame frame;
public void go(){
frame = new JFrame();
frame.setSize(500,500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
DrawPanel panel = new DrawPanel();
}
public static void main (String[] args){
class DrawPanel extends JPanel{
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.orange);
g.drawRect(20, 20, 100, 60);
}
}
RandomRec test = new RandomRec();
test.go();
}
}
对此的任何帮助将不胜感激。
谢谢。
*更新*问题解决了!将 go() 方法移出 main 方法,添加一个 frame.add(panel) 并将 frame.setVisible(true) 移动到 go() 方法的底部(更具体地说,将它添加到面板后移动它框架)已经解决了这个问题。谢谢你。
【问题讨论】:
-
没有必要用答案更新您的问题。表示“已解决”的最佳方式是选中最有用的答案旁边的复选标记。您还可以对任何对您有帮助的答案投票。
标签: java swing jframe jpanel paintcomponent