2016-04-09 17 views
0

Sorunun daha önce sorulmuş olsaydı (arama yaptım ama yanıt alamadım) soru şu: Kullanıcı türü 1 veya 2 olduğunda dikdörtgen ve oval çizmek istiyorum. JAVA ve işte benim kodum.Çizim dikdörtgenleri ve oval

package shapes; 
import java.awt.Graphics; 
import javax.swing.JPanel; 
public class shapes extends JPanel 
{ 
    private int choise; 
public shapes (int userchoise) 
{ 
choise=userchoise; 
} 
public void paintcomponent (Graphics g) 
{ 
    super.paintComponent(g); 
    for (int i=0; i<=10; ++i) 
{ 
switch (choise) 
{ 
case 1 : 
g.drawRect(10+i*10, 10+i*10, 50+i*10, 50+i*10); 
break; 
case 2: 
g.drawOval(10+i*10, 10+i*10, 50+i*10, 50+i*10); 
break; 

     } 
    } 
} 
} 

bu ana sınıftır:

package shapes; 
import javax.swing.JFrame; 
import javax.swing.JOptionPane; 
public class shapestest { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    String input= JOptionPane.showInputDialog("Please enter 1" 
      + " to drawing rectangel"+"Please enget 2 to drawing oval"); 
    int choise = Integer.parseInt(input); 
    shapes myshape=new shapes (choise); 
    JFrame application = new JFrame(); 
    application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    application.add(myshape); 
    application.setSize(300, 300); 
    application.setVisible(true); 


} 
} 

sorun i programı çalıştırdığınızda bir şey göremiyorum (tip 1 sonra ve 2)

Bunu nasıl çözerim sorun? @kiheru

bu kod var tek sorun için .... Beyler Sonunda sorunu çözmek için nasıl bulundu (teşekkürler ihtimale hakkında duyarlıdır: paintcomponentpaintComponentpublic void paintcomponent (Graphics g) aynı şey değildir bunu yaparsanız Yani. Bu değişiklik, kod çalışacaktır.

+0

Lütfen kodunuzu jpg olarak değil, postanızı içeren bir yazı olarak (kod olarak işaretlenmiş) başkalarının doğrudan üzerinde çalışabilmesi için ekleyin. Bu şekilde daha hızlı cevaplar alacaksınız. – tfv

+0

Sınıf adları bir büyük harfle başlamalıdır. Gönderilen kod düzgün bir şekilde biçimlendirilmelidir. Eminim kodun doğru bir şekilde yazılmadığından emin olursun, bu yüzden kodu okumamızı beklemeyin. – camickr

+0

üzgünüm, bu konuda yeniyim. Ama bunu daha iyi yapmaya çalışıyorum, bana bunu hatırlattığın için teşekkürler. –

cevap

2
public void paintcomponent (Graphics g) 
@Override notasyonu bu yöntem bildirimi önce

kullanın. Bu bir derleme hatası görülür.

düzeltmek için,büyük harf kullanılmasına:

@Override 
public void paintComponent (Graphics g) 
+0

Bunu yaptım ama çalışmaz (bu hatayı bana geri getirin: Tip şekillerindeki boya bileşenin (Grafik) yöntemi, bir üst düzey yöntem olan –

+0

* geçersiz kılmalı veya uygulamalıdır. "O, şekil şekillerindeki boya bileşenin (Grafikler) yöntemini bir üst tür yöntemi geçersiz kılmalı veya uygulamalıdır" * Bin kilometrelik yolculuk tek bir adımla başlıyor.İkinci adım, bu hatanın ne anlama geldiğini anlamaya çalışmak ve sonra nasıl düzeltileceğini anlamaktır .. Bazı aramalar için zaman .. –

+0

Tamam, teşekkürler –