2016-05-30 10 views
1

午前多分私のコードが間違って助け、私は、Javaの初心者ですしてくださいされJavaの塗料は

を呼び出すべきではありません、私のリスナーに塗料を呼び出すが、四角形を描画しようと動作しません

btnNewButton_5.addActionListener(new ActionListener() { 

     public void actionPerformed(ActionEvent e) { 
      class MyCanvas extends JComponent { 

        public void paint(Graphics g) { 
        g.drawRect (10, 10, 200, 200); 
        } 
      } 

      JFrame window = new JFrame(); 
      window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      window.setBounds(30, 30, 300, 300); 
      window.getContentPane().add(new MyCanvas()); 
      window.setVisible(true); 

     } 
    }); 
+0

それは唯一のフレームが表示されます矩形 –

答えて

0

私は願っていますそれはあなたを助けるでしょう:)

btnNewButton_5.addActionListener(new ActionListener() { 

    public void actionPerformed(ActionEvent e) { 
     class MyCanvas extends JComponent { 

       //You didnt set size 

       public MyCanvas(){ 
        setSize(size, width); 
       } 

       //public void paint(Graphics g) { better use paintComponent 
       public void paintComponent(Graphics g){ 
       //always use it: 
       super.paintComponent(g); 
       g.setColor(Color.RED); // You didnt set color 
       g.drawRect (10, 10, 200, 200); 
       } 
     } 

     JFrame window = new JFrame(); 
     window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     //window.setBounds(30, 30, 300, 300); Never saw the same statement 
     window.setSize(width, height); 
     //window.getContentPane().add(new MyCanvas()); 
     window.add(new MyCanvas()); // dont use getContentPane dont need it in newest java versions 
     window.setVisible(true); 

    } 
}); 
関連する問題