actionlistener(Java 的 actionlistener怎么用啊)

本文目录
- Java 的 actionlistener怎么用啊
- java程序中ActionListener类型无法识别
- java中的actionlistener的作用
- Java中的actionlistener是什么意思,有什么作用,详细点为好!
Java 的 actionlistener怎么用啊
给你做了个样板
import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class JFrameDemo extends JFrame implements ActionListener{
int time=0;
JButton jb=new JButton("click me");
JLabel jl=new JLabel("No. of drinks ordered");
public JFrameDemo(){
this.setSize(900,600);
int width=Toolkit.getDefaultToolkit().getScreenSize().width;
int height=Toolkit.getDefaultToolkit().getScreenSize().height;
this.setLocation((width-900)/2,(height-600)/2);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.add(jb,BorderLayout.NORTH);
this.add(jl,BorderLayout.SOUTH);
jb.addActionListener(this);
this.setVisible(true);
}
public static void main(String args) {
new JFrameDemo();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb){
time++;
jl.setText("No. of drinks ordered"+time);
}
}
}
java程序中ActionListener类型无法识别
写法错误
b1.addActionListener(new ActionListener() {//这里少了一个(
@Override
public void actionPerformed(ActionEvent event) {
//监听器代码
}
});
java中的actionlistener的作用
ActionListener用于接收操作事件的侦听器接口, 像点击按钮或者选中菜单等,都经常用到implements 后面跟的是接口 extends后面跟的是类,接口是用interface声明,类是class,这个一看就明白了。 如果是JAVA的类可查看API确定是类还是接口。
Java中的actionlistener是什么意思,有什么作用,详细点为好!
actionlistener字面上理解就是动作监听器。
它是一个接口,在实现此接口的类中,你可以给需要关注其动作的组件(如Button)添加监听器(addActionListener(this);),之后在事件处理方法(public void actionPerformed(ActionEvent event){})中,对每个事件进行不同处理。
给你个例子吧,是我自己写的一个记事本:
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
public class MainClass extends JFrame implements ActionListener{
int width = 500,height = 400;
JPanel panel;
JMenuBar bar;
JMenu fileMenu,editMenu,helpMenu;
JMenuItem 打开O,新建N,保存S,另存A,剪切T,复制C,粘贴P,关于A;
JTextArea textArea = null;
File tempFile = null;
public MainClass(){ //构造方法
setTitle("TextEdit");
setSize(width,height);
panel = (JPanel)getContentPane();
bar = new JMenuBar();
fileMenu = new JMenu("文件F");
fileMenu.setMnemonic(’F’);
editMenu = new JMenu("E");
editMenu.setMnemonic(’E’);
helpMenu = new JMenu("帮助H");
helpMenu.setMnemonic(’H’);
打开O = new JMenuItem("打开O");
打开O.setMnemonic(’O’);
新建N = new JMenuItem("新建N");
新建N.setMnemonic(’N’);
保存S = new JMenuItem("保存S");
保存S.setMnemonic(’S’);
另存A = new JMenuItem("另存A");
另存A.setMnemonic(’A’);
剪切T = new JMenuItem("剪切C");
剪切T.setMnemonic(’t’);
复制C = new JMenuItem("复制C");
复制C.setMnemonic(’C’);
粘贴P = new JMenuItem("粘贴P");
粘贴P.setMnemonic(’P’);
关于A = new JMenuItem("关于A");
关于A.setMnemonic(’A’);
fileMenu.add(打开O);
fileMenu.add(新建N);
fileMenu.add(保存S);
fileMenu.add(另存A);
bar.add(fileMenu);
editMenu.add(剪切T);
editMenu.add(复制C);
editMenu.add(粘贴P);
bar.add(editMenu);
helpMenu.add(关于A);
bar.add(helpMenu);
textArea = new JTextArea();
panel.add("North",bar);
panel.add("Center", textArea);
打开O.addActionListener(this);
新建N.addActionListener(this);
保存S.addActionListener(this);
另存A.addActionListener(this);
剪切T.addActionListener(this);
复制C.addActionListener(this);
粘贴P.addActionListener(this);
关于A.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent event){ //处理事件
if(event.getSource() == 打开O){ //处理打开
JFileChooser jfc = new JFileChooser();
jfc.showOpenDialog(panel);
tempFile = jfc.getSelectedFile();
FileReader fis;
try {
fis = new FileReader(tempFile);
textArea.read(fis,null);
textArea.setEditable(true);
}catch(Exception ex){ex.printStackTrace();}
}
if(event.getSource() == 新建N){ //处理新建
textArea.setEditable(true);
textArea.setText(null);
}
if(event.getSource() == 保存S){ //处理保存
if(tempFile == null){
JFileChooser jfc = new JFileChooser();
jfc.showSaveDialog(panel);
tempFile = jfc.getSelectedFile();
try{
FileWriter fos = new FileWriter(tempFile);
textArea.write(fos);
}catch(Exception ex){ex.printStackTrace();}
}
else{
try{
FileWriter fos = new FileWriter(tempFile);
textArea.write(fos);
}catch(Exception ex){ex.printStackTrace();}
}
}
if(event.getSource() == 另存A){ //处理另存
JFileChooser jfc = new JFileChooser();
jfc.showSaveDialog(panel);
tempFile = jfc.getSelectedFile();
try{
FileWriter fos = new FileWriter(tempFile);
textArea.write(fos);
}catch(Exception ex){ex.printStackTrace();}
}
if(event.getSource() == 剪切T){ //处理剪切
textArea.cut();
}
if(event.getSource() == 复制C){ //处理复制
textArea.copy();
}
if(event.getSource() == 粘贴P){ //处理粘贴
textArea.paste();
}
if(event.getSource() == 关于A){ //处理关于
textArea.setText("Manifest-Version: 1.0\n" +
"Created-By: Libra_JL\n" +
"QQ: 254791521\n");
textArea.setEditable(false);
panel.validate();
validate();
}
}
public static void main(String args){ //主函数
new MainClass();
}
}

更多文章:
手机免费格式转换器(如何改变手机图片格式(免费图片格式转换软件推荐))
2026年10月14日 18:10
天正cad快捷键命令大全(我现在急需天正CAD 的快捷键的清单)
2026年9月2日 05:30
登录51个人主页登录(51.com个人主页登陆没了是怎么回事)
2026年10月7日 18:50
pokemongo懒人版最新(pokemon go懒人版和原版有什么区别 懒人版和原版数据互通吗)
2026年4月7日 04:45
命令与征服3凯恩之怒修改器(命令与征服3凯恩之怒1.01修改器怎么用有图)
2025年4月24日 06:00
视频转换成图片的软件(安卓手机上有什么软件可以把视频分解成多张图片的吗)
2026年1月1日 02:45
百思不得姐内涵图(百思不得姐是个什么网站,什么类型的视频网站)
2025年7月4日 04:20
u盘万能量产工具(安国u盘量产工具,小编教你如何使用安国u盘量产工具)
2026年2月4日 03:45
我玩过的白社会梦幻城游戏进不去了,怎么办?哪里有和梦幻城一样的游戏
2025年5月19日 09:20
windows7旗舰版系统(windows7 旗舰版 各个版本区别)
2025年8月6日 23:45









