2016-04-13 166 views
0

我是新来使用绘画组件,并想知道为什么它不出现在我的graphArea(jpanel)中。我有类的drawpanel正在实现它,但它不提供任何错误。我的意思是添加其他东西,让椭圆形显示?如何绘制形状

public class graphGUI extends JFrame { 

    JFileChooser fc; 

    //private final JTextArea graphArea = new JTextArea(); 
    private final JPanel graphArea = new JPanel(); 
+0

'graphArea.paintComponents(g);''的目的是什么?你正从另一个'JPanel'调用一个'JPanel'的paint方法。 – Berger

+0

@Berger我以为多数民众赞成我如何将它添加到我gui graphArea面板? – BinaryBoy

+0

下面是一个[示例Java Swing GUI](http://stackoverflow.com/questions/34981403/bufferedimage-not-being-cleared-before-each-rendering/35002727#35002727),它向您展示了如何创建适当的paintComponent方法。您在paintComponent方法中绘制。没有其他的。 –

回答

1

你混的事情,你可能想graphArea成为DrawPanel,所以:

private final JPanel graphArea = new DrawPanel(); 

然后在paintComponent,删除你最后一次通话,因为它有没有用,但调用父类的方法,而不是,让它先做绘画。

 @Override 

     public void paintComponent(Graphics g) { 

     super.paintComponent(g); 
     g.drawOval(50, 50, 50, 50); 

    } 
+0

非常感谢! – BinaryBoy

+0

你有什么想法为什么它不接受上面添加的代码?即时通讯尝试显示一个对象的图形。它在参数中抱怨JPanel,说它找不到符号。但显然它不是一个变量 – BinaryBoy