2011-12-02 73 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中用于此目的。