用于隐藏/显示标签的按钮

时间:2015-11-25 01:07:21

标签: java swing jbutton jlabel

我有一个问题,我想要一个按钮,一旦你点击它,标签就会隐藏,如果你再次点击按钮,标签就会显示出来。救命! Java Jframe

3 个答案:

答案 0 :(得分:1)

您可以在jframe中创建两个组件,并使用actionlistener来检测按钮的单击。

public class MyFrame{
JFrame frame;
JLabel label;
JButton button;
public MyFrame(){
    frame = new JFrame("Sample");
    frame.setLayout(new FlowLayout());
    label = new JLabel("Message");
    button = new JButton("Click");
    frame.add(label);
    frame.add(button);
    button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
        if(label.isVisible(true))
            label.setVisible(false);
        else
            label.setVisible(true);
    }
    });
    frame.setVisible(true);
    frame.setSize(200,100);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

答案 1 :(得分:0)

setVisible(true)setVisible(false)就足够了。如果你想让这个JLabel表现得更加自定义,你可以编写自定义JLabel,你也可以让它实现ActionListener并在每次点击时调用changeState()

class MyLabel extends JLabel {
    private boolean state;

    public void changeState(){
       state = !state;
       if(!state)
         setText("");//or "hide" -> setVisible(false);
       else
         setText("your text");//or show -> setVisible(true); 
    }    
}

答案 2 :(得分:0)

我只提供一些关于如何做到这一点的想法(而不是代码)

首先,您应该拥有UI元素的所有句柄 示例

Button button = ...
Label label = ...

然后你应该为actionPerformed方法编写代码 使用if / else使标签隐藏或显示取决于布尔变量