JAVA-actionevent事件响应的处理方式

1.处理东、南、西、北四个按钮,以及文本框的actionevent事件。当事件发生,,监视器计算字符的长度,并在命令行窗体显示按钮的文本内容或文本框的文本内容。
在这里插入图片描述
在这里插入图片描述
代码:
package 实验4;

public class test {
public static void main(String args[]){
WindowActionEvent win= new WindowActionEvent();
win.setTitle(“处理ActionEvent事件”);
win.setBounds(100,100,310,260);
}

}
package 实验4;

import java.awt.;
import javax.swing.
;
import java.awt.event.*;
public class WindowActionEvent extends JFrame{
JTextField text;
ActionListener listener;
JButton a1,a2,a3,a4;
public WindowActionEvent(){
setLayout(new BorderLayout());
text = new JTextField(“JAVA的事件响应”,10);
a1=new JButton(“我是北按键”);
a2=new JButton(“我是西按键…”);
a3=new JButton(“我是南按键…”);
a4=new JButton(“我是东按键.”);
add(text,BorderLayout.CENTER);
add(a1,BorderLayout.NORTH);
add(a2,BorderLayout.WEST);
add(a3,BorderLayout.SOUTH);
add(a4,BorderLayout.EAST);
listener= new ReaderListen();
text.addActionListener(listener);
a1.addActionListener(listener);
a2.addActionListener(listener);
a3.addActionListener(listener);
a4.addActionListener(listener);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

package 实验4;

import java.awt.event.*;
public class ReaderListen implements ActionListener{
public void actionPerformed(ActionEvent e){
String str = e.getActionCommand();
System.out.println(str+":"+str.length());
}

}

2.创建一个border布局,检测每个按钮的被点击次数
在这里插入图片描述
代码:
package test;

public class test {
public static void main(String args[]){
win win=new win();
win.setBounds(100,120,300,300);
}

}
package test;
import java.awt.;
import javax.swing.
;
import java.awt.event.*;
public class win extends JFrame{
JPanel chessboard;
JTextField textshow;
JButton button;
win(){
chessboard=new JPanel();
GridLayout grid=new GridLayout(3,3); //网格布局
chessboard.setLayout(grid);
textshow=new JTextField();
JButton label[][]=new JButton[3][3];
for(int i=0;i<3;i++) {
for(int j=0;j<3;j++) {
label[i][j]=new JButton(i+","+j);
buttonlistener t =new buttonlistener();
label[i][j].addActionListener(t);
t.settext(textshow);
chessboard.add(label[i][j]);
label[i][j].setActionCommand(“第”+(i+1)+“行,第”+(j+1)+“列按钮被点击”);

}
}
setLayout(new BorderLayout());
add(textshow,BorderLayout.SOUTH);
add(chessboard,BorderLayout.CENTER);
add(new JButton(“Border布局”),BorderLayout.NORTH);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}

}

package test;
import java.awt.;
import javax.swing.
;
import java.awt.event.*;
public class buttonlistener implements ActionListener {
int timer;
JTextField textshow;
void settext(JTextField show){
textshow=show;
}
public void actionPerformed(ActionEvent e){
timer=timer+1;
textshow.setText(e.getActionCommand()+timer);
System.out.println(e.getActionCommand()+timer);
}

}

发布了15 篇原创文章 · 获赞 1 · 访问量 329

猜你喜欢

转载自blog.csdn.net/z_mawkish/article/details/105118038