2011-12-02 40 views
1

好吧,所以我已經查了幾個小時,並沒有真正找到任何有用的答案。無論如何,我目前正在學習一些編程,而且我似乎無法找到我的錯誤。我用eclipse查找我的錯誤,但沒有顯示任何錯誤。JButton和布爾

所以無論如何,我想使這個按鈕來打開和關閉,並這樣做,我做了一個所謂的導通布爾值,並設置它的起始值爲「假」

我加了一個JButton,並與鏈接它「 ActionListener',但是當我運行我的程序並按下我的按鈕時,它不會打開。

當我按下按鈕並退出時,基本上需要顯示drawLine。我相信這可能是一個初學者的錯誤,但我似乎無法弄清楚。

代碼:


import javax.swing.*; 
import java.awt.Color; 
import java.awt.Graphics; 
import java.awt.event.*; 

public class MijnProject extends JPanel{ 

private JTextField tekstvak1; 
private JLabel label1; 
private JButton knop; 
private boolean turnOn=false; 

    public MijnProject(){ 

     label1 = new JLabel("Aantal zeepjes"); 
     tekstvak1 = new JTextField(10); 
     knop = new JButton("Aan/Uit"); 
     knop.addActionListener(new StartknopHandler()); 
     add (label1); 
     add (tekstvak1); 
     add (knop); 

    } 

    public void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     g.setColor(Color.GRAY); 
     g.fillRect(20, 100, 5, 400); 

     if(turnOn==true){ 
      g.setColor(Color.BLUE); 
      g.drawLine(55, 125, 35, 500); 
     } 
    } 

    class StartknopHandler implements ActionListener { 
     public void actionPerformed(ActionEvent e) { 
      if(turnOn==false){ 
       turnOn = true; 
      } 
     } 
    } 

}

+0

按下按鈕後,您在哪裏重新繪製組件? – Thomas

+0

是的就是這樣,我也向一些我的老朋友展示過這些,他們都沒有看到它。現在我可以繼續。 –

回答

1

你應該使用JToggleButton中用於此目的。