java - 单击后更改按钮文本,然后使用 JAVA ActionEvent 再次单击后恢复更改

标签 java swing jbutton actionlistener

我正在显示我编写的用于在单击按钮时更改文本的代码。现在我试图通过再次单击该按钮来获取默认文本,但无法这样做。请指教。

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

public class Actions extends JFrame implements ActionListener{

    JPanel pnl=new JPanel();
    ImageIcon ic1=new ImageIcon("/home/mudit/Downloads/duke.png");
    JButton btn1=new JButton("Click",ic1);
    JTextArea ta=new JTextArea(5,37);

    public static void main(String[]args)   
     {
        Actions gui=new Actions();
     } 


    public Actions()
     {
        super("Swing Window");
        setSize(500,300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        add(pnl);
        btn1.setHorizontalTextPosition(JButton.CENTER);
        btn1.setVerticalTextPosition(JButton.BOTTOM);
        ta.setLineWrap(true);
        ta.setWrapStyleWord(true);
        pnl.add(btn1);
        pnl.add(ta);
        btn1.setEnabled(true);
        ta.setText("Button is enabled");
        btn1.addActionListener(this);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent event)
     {
        if(event.getSource()==btn1)
        {
            ta.setText("Button is Clicked");

        }
     }   
  }

最佳答案

您可以使用 if 语句检查按钮的文本:

if (event.getSource() == btn1) {
    if (ta.getText().equals("Button is enabled")) {
        ta.setText("Button is Clicked");
    } else {
        ta.setText("Button is enabled");
    }
}

关于java - 单击后更改按钮文本,然后使用 JAVA ActionEvent 再次单击后恢复更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31718228/

相关文章:

java - 为什么积分慢

java - 向 JFrame 和所有子组件添加监听器

Java Swing : How to remove the default-spacing for JButtons in a JPanel

java - 通过读取文本文件来添加 JButton

java - 循环创建保存其名称值的 JButton

java - 同步访问 int 数组中的特定索引

java - 如何更改(数据库)变量中的 jspinner 日期最小值和最大值?

java - 如何从文件交替变量中读取值?

java - JTable 中的 JCheckBox 值

java - JButton 需要使用数组修改 8 个 JTextField。听按钮还是听文本?