2016-04-13 27 views
-1

Ben O herhangi bir hata ile bana sağlamıyor ama bir şey ben, ben grafik görüntülenirken olmadığını yanlış yapıyorum, orada dosya rötuş yöntemi kullanılarak seçildikten sonra bir grafiğini görüntülemek için çalışıyorum Boya yöntemine yeni gelen bu yüzden neden çalışmadığını düşünüyorum.JPanel Boya yöntemi

Kodu: Burada

private class graphArea extends JPanel { 

     public graphArea() { 
      graphArea.setPreferredSize(new Dimension(255,255)); 
     } 

     @Override 
     public void paintComponent(Graphics g) { 

    } 
    } 

    //method creating a new gui 
    public static void makeAndShowGUI() { 
     graphGUI gGUI = new graphGUI(); 
     gGUI.showGUI(); 
    } 

     //setting items for gui 
yout); 
      listArea.setRows(1); 
); 
      contentPane.add(buttonPanel); 
      contentPane.add(graphArea);  




            newStation.addStation(name, posx, posy); 
            System.out.println("Station test: " + name + " " + posx + " " + posy); 
           } 
           else if(type.equals("Connection:")){ 
            String statA = sc.next(); 
            String statB = sc.next(); 
            double dist = sc.nextDouble(); 



            newStation.addConnection(statA, statB, dist); 
            System.out.println("Connection test: " + statA + " " + statB + " " + dist); 
           } 
          } 

geçerli: panelini boyama için

private final JPanel graphArea = new JPanel(); 
    private final JButton read = new PosJButton("Read", 0); 
    private final JButton breadth = new PosJButton("Breadth", 0); 
    private final JButton depth = new PosJButton("Depth", 0); 

Benim sınıfının:

Aşağıda
private final JPanel buttonPanel = new JPanel(); 
    private final JTextArea listArea = new JTextArea(); 
    //private final JTextArea graphArea = new JTextArea(); 

JPanel ben çıkış grafiğinin çalışıyorum edilir Jpanel grafiğini yeniden boyamaya çalışıyorumArea:

tüm sınıf isimleri
graphArea.repaint(); 
         }catch(FileNotFoundException ex){ 
          JOptionPane.showMessageDialog(null, "invalid file format", "Error", JOptionPane.ERROR_MESSAGE); 
         } 


     } 
     } 
    }); 

cevap

0

İlk bir büyük harf karakteri ile başlamalıdır.

sizin GraphArea (not özel isim) boyutu (0, 0), bu yüzden boyamak için bir şey yok olduğunu.

Sen panelin boyutunu döndürmek için getPreferredSize() yöntemini geçersiz gerekir. Sonra düzen yöneticisi düzgün çalışabilir.

+0

Bunu nasıl yaparım? – codingmachine

+0

@codingmachine Çalışma örneği için Swing öğreticisinden [Özel Boyama] (http://docs.oracle.com/javase/tutorial/uiswing/painting/index.html) bölümünü okuyun. – camickr