700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JAVA的GUI编程02——事件监听(ActionListener) TextField事件监听 (组合 内部类)

JAVA的GUI编程02——事件监听(ActionListener) TextField事件监听 (组合 内部类)

时间:2022-12-07 01:51:16

相关推荐

JAVA的GUI编程02——事件监听(ActionListener) TextField事件监听 (组合 内部类)

一、事件监听

public class TestListener {public static void main(String[] args) {Frame frame = new Frame();Button button = new Button("buttom");ActionListener actionListener = new MyActionListener();button.addActionListener(actionListener);frame.add(button);frame.setSize(500,500);frame.setVisible(true);WindowC(frame);}//把关闭窗口抽象成一个方法public static void WindowC(Frame frame){frame.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {System.exit(0);}});}}class MyActionListener implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("触发了button");}}

两个按钮、共享同一个事件

二、TextField事件监听

(frame.pack():会自适应)

public class TestTextField {public static void main(String[] args) {testFramex testFrame1 = new testFramex();}}class testFramex extends Frame{public testFramex(){TextField textField = new TextField();add(textField);textFiledActionListener textFiledActionListener = new textFiledActionListener();textField.addActionListener(textFiledActionListener);textField.setEchoChar('*');//隐藏输入setSize(500,500);setVisible(true);}}class textFiledActionListener implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {TextField field = (TextField) e.getSource();System.out.println(field.getText());field.setText("");}}

三、回顾(组合+内部类)

class A extentd B{}class A{public B b; //组合B的全部方法属性}

多态和继承都会导致代码变负载,尽量用组合的方式。

可以把监听器,设置成内部类

(内部类最大的好处就是可以畅通无阻访问外部类)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。