我想在我的JFrame上使用paint()绘制一些东西。我不能让它显示出来。为什么呢?
claass DrawOn extends JFrame{
public static void main(String args[]){
new DrawOn();
}
public DrawOn(){
setVisible(true);
pack();
}
paint(Graphics g){
g.drawOval(10,10,100,100);
}
}
答案 0 :(得分:0)
您应该使用JPanel
:
JPanel panel = new JPanel()
{
@Override
protected void paintComponent(Graphics g)
{
// TODO Auto-generated method stub
super.paintComponent(g);
g.drawOval(10, 10, 100, 100);
}
};
不要忘记将JPanel
添加到JFrame
:
add(panel);
<强>代码:强>
public DrawOn()
{
JPanel panel = new JPanel()
{
@Override
protected void paintComponent(Graphics g)
{
// TODO Auto-generated method stub
super.paintComponent(g);
g.drawOval(10, 10, 100, 100);
}
};
add(panel);
setPreferredSize(new Dimension(200, 200));
setVisible(true);
pack();
}
注意:您可以创建扩展 JPanel
的类,而不是使用匿名类,以便您的代码更清晰。