2016-04-13 26 views
0

Boya bileşenini kullanıyorum ve grafArea (jpanel) 'da neden görünmediğini merak ediyorum. Bunu uygulayan sınıf çekmece var ama bana herhangi bir hata sağlamadı. Oval görünmesini sağlamak için başka bir şey eklemek istedim?Şekil nasıl çizilir

public class graphGUI extends JFrame { 

    JFileChooser fc; 

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

GrafArea.paintComponents (g); '? Başka bir “JPanel” den “JPanel” in bir boya yöntemini çağırıyorsunuz. – Berger

+0

@Berger Bunu gui'mdeki grafik paneline nasıl ekleyeceğimi düşündüm? – BinaryBoy

+0

İşte size uygun paintComponent yöntemi olarak nasıl oluşturulacağını gösteren bir [örnek Java Swing GUI] (http://stackoverflow.com/questions/34981403/bufferedimage-not-being-cleared-before-each-rendering/35002727#35002727). . PaintComponent yönteminde boyayorsunuz. Başka hiçbir şey. –

cevap

1

Sen karışık şeyler yukarı, muhtemelen bu yüzden, bir DrawPanel olmak graphArea istiyorum: hiçbir kullanımı vardır, çünkü

private final JPanel graphArea = new DrawPanel(); 

Sonra paintComponent yılında, size son çağrı kaldırmak, ancak bunun yerine ebeveynin yöntemini çağırın İlk önce onun resmini yapmasına izin vermek.

 @Override 

     public void paintComponent(Graphics g) { 

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

    } 
+0

Çok teşekkür ederim! – BinaryBoy

+0

Yukarıda eklenmiş olan kodu neden kabul etmediğiyle ilgili bir fikriniz var mı? Bir nesneyi bir grafikten göstermeye çalışıyorum. onun paramaters içinde JPanel hakkında şikayet onun sembolü bulamıyor diyerek. ama açıkçası onun bir değişkeni değil – BinaryBoy