监听器是部件在Frame之中进行监听的操作
关于监听器操作TextField那档子事
package Java.GUI.LayoutExample;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TestText {
//启动类中只有对应的启动选项
public static void main(String[] args) {
TestText_MyFrame frame = new TestText_MyFrame();
}
}
class TestText_MyFrame extends Frame{
public TestText_MyFrame() throws HeadlessException {
TextField textField = new TextField();
TestText_Listenner t = new TestText_Listenner();
textField.addActionListener(t);
//让文本框之中显示为'*' 服务器端依旧可以看见
textField.setEchoChar('*');
add(textField);
setVisible(true);
setSize(300,300);
}
}
class TestText_Listenner implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
//获取对象e.getsource()的功能是获取Object对象
//对应的强转后能够进行操作
TextField f = (TextField) e.getSource();
System.out.println(f.getText());
f.setText("");
}
}
一个监听面对多个部件时,能够如何进行操作?
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TwoButton extends Panel implements ActionListener {
Button A,B;
Panel panel;
public TwoButton(Panel panel) {
this.panel = panel;
A = new Button("Circle");
B = new Button("Rectangle");
add(A);
add(B);
A.addActionListener(this);
B.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
Graphics g = panel.getGraphics();
g.setColor(panel.getBackground());
g.fillRect(0,0,panel.getWidth(),panel.getHeight());
g.setColor(Color.blue);
if(e.getActionCommand().equals("Circle")){
g.drawOval(20,20,50,50);
}else{
g.drawRect(20,20,40,60);
}
}
public static void main(String[] args) {
Frame f =new Frame("Two Button");
Panel draw = new Panel();
TwoButton twoButton = new TwoButton(draw);
f.setLayout(new BorderLayout());
f.add("North",twoButton);
f.add("Center",draw);
f.setVisible(true);
f.setSize(300,300);
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}