测试事件响应修改界面内容

package com.swing.demo;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;

/**
 * 测试事件响应修改界面内容
 * @author Administrator
 *
 */
public class ActionListenerTest {
    public static void main(String[] args) {
        ActionListenerTest instance = new ActionListenerTest();
        instance.show();
    }

    private void show() {
        JFrame frame = new JFrame("窗体");
        Container contentPane = frame.getContentPane();
        JButton btn = new JButton("按钮");
        JTextArea textArea = new JTextArea();
        textArea.setBackground(Color.white);
        textArea.setRows(10);
        MyActionListener listener = new MyActionListener();
        listener.setBtn(btn);
        listener.setTextArea(textArea);
        btn.addActionListener(listener);
        contentPane.add(btn, BorderLayout.NORTH);
        contentPane.add(textArea, BorderLayout.SOUTH);
        frame.pack();
        frame.setVisible(true);
        frame.requestFocus();
        frame.setSize(400, 300);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private class MyActionListener implements ActionListener {

        private JButton btn;
        private JTextArea textArea;

        public void setBtn(JButton btn) {
            this.btn = btn;

        }

        public void setTextArea(JTextArea textArea) {
            this.textArea = textArea;
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            btn.setText("hello world");
            textArea.setText(textArea.getText() + "new000" + "\r\n");
        }
    }
}
原文地址:https://www.cnblogs.com/freshier/p/4617165.html