JButton中addChangeListen和addActionListener的区别

guhuan 2003-12-13 11:22:45
它们是否可以同时存在,要是和MouseListener同时存在呢
...全文
209 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hlding 2003-12-14
  • 打赏
  • 举报
回复
他们都是基于Button(或JButton)上的接口,要使用他们,必须分别实现以下方法:
JButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent object){
....;//比如单击按钮时进行的处理写于此处
}
});
JButton.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent e){
....;//比如JButton由不可用变为可用时进行的处理
}
});
hlding 2003-12-14
  • 打赏
  • 举报
回复
addActionListener是专用于监听按钮动作的:比如单击,双击事件;
addChangeListener是专门用于监听按钮状态变化的:比如按钮的可用状态,文字,图标等等变化的
kindani 2003-12-14
  • 打赏
  • 举报
回复
addChangeListen从没有用过,不过从理论上理解是
addChangeListen为状态改变,如button的caption,enabled,等属性。
addActionListener为执行的动作。


guhuan 2003-12-14
  • 打赏
  • 举报
回复
对不起,点了两次,要是可以的话请版主把那个删了
1. 需求分析 为了实现对学生信息的统一管理及操作,及时对学生信息进行修改、增添和删除。 2. 总体设计 1. 系统主要功能:对学生的信息进行管理,如:插入学生信息、删除学生信息、修改学生 信息、查询学生信息。 2. 技术背景:本项目使用Java Swing技术,数据库采用SQLServer 2000,本项目的开发和测试都是在Windows平台下进行的,但由于Java的跨平台性,本 系的移植性很强,也适用于其它主流的操作系统。 3. 类图 图3.1类图 3. 详细设计 1. 用例图 用例图 功能级用例描述——添加学生信息 "描述项 "说明 " "用例名称 "添加学生信息 " "用例简述 "管理员添加学生的基本信息 " "用例图 " " "前置条件 "管理员已成功登入 " "后置条件 "学生信息被添加 " "基本操作流程 "1输入"学生姓名","学生学号","学生年龄",选择"学 " " "生性别" " " "2点击"提交"按钮 " " "3 "成功添加"点击"确定"或关闭窗口则返回主页面 " "替代流程 "无 " 功能级用例描述——查询学生信息 "描述项 "说明 " "用例名称 "查询学生信息 " "用例简述 "管理员查询学生的基本信息 " "用例图 " " "前置条件 "管理员已成功添加学生信息并成功登入查询页面 " "后置条件 "学生信息被查询 " "基本操作流程 "1输入需查找的"学生学号" " " "2点击"确定"按钮 " " "3 点击"返回"或关闭窗口则返回主页面 " "替代流程 "无 " 功能级用例描述——修改学生信息 "描述项 "说明 " "用例名称 "修改学生信息 " "用例简述 "管理员修改学生的基本信息 " "用例图 " " "前置条件 "管理员已成功查询所需修改学生信息 " "后置条件 "学生信息被修改 " "基本操作流程 "1输入需修改的"学生学号" 2点击"修改"按钮 " " "3 点击"返回"或关闭窗口则返回主页面 " "替代流程 "无 " 功能级用例描述——删除学生信息 "描述项 "说明 " "用例名称 "删除学生信息 " "用例简述 "管理员删除学生的基本信息 " "用例图 " " "前置条件 "管理员已成功查询所需修改学生信息 " "后置条件 "学生信息被删除 " "基本操作流程 "1输入需删除的"学生学号" " " "2点击"删除"按钮 " " "3 "删除成功"点击"确定"或关闭窗口则返回主页面 " "替代流程 "无 " 2、程序主要代码的实现 2.1StudentJFrame类,第一个界面(主界面)的建立 "package jframe; " "import java.awt.BorderLayout; " "import java.awt.event.*; " "public class StudentJFrame extends javax.swing.JFrame { " "private JPanel titlePanel; " "private JLabel titleLabel; " "private JButton jButton1; " "private JButton jButton4; " "private JButton jButton3; " "private JButton jButton2; " "private JPanel mainPanel; " "public static void main(String[] args) { " "SwingUtilities.invokeLater(new Runnable() { " "public void run() { " "StudentJFrame inst = new StudentJFrame(); " "inst.setLocationRelativeTo(null); " "inst.setVisible(true); " "} " "}); " "} " "public StudentJFrame() { " "super("学生选修课管理系统"); " "initGUI(); " "} " "private void initGUI() { " "try { " "setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); " "getContentPane().setForeground(new java.awt.Color(0,0,255)); " "{ " "//标题Panel " "titlePanel = new JPanel(); " "getContentPane().add(titlePanel, BorderLa
简单实用的计算器,面板设计简单, public testZ(){ super("计算器"); setSize(300,240); Container con=getContentPane(); con.setLayout(new BorderLayout()); jPanel1=new JPanel(); jPanel1.setLayout(new GridLayout(1,1)); jPanel2=new JPanel(); jPanel2.setLayout(new GridLayout(4,4)); resultField=new JTextField("0"); jPanel1.add(resultField); con.add(jPanel1,BorderLayout.NORTH); s1=new JButton(" 1 "); s1.addActionListener(this); s2=new JButton(" 2 "); s2.addActionListener(this); s3=new JButton(" 3 "); s3.addActionListener(this); s4=new JButton(" 4 "); s4.addActionListener(this); s5=new JButton(" 5 "); s5.addActionListener(this); s6=new JButton(" 6 "); s6.addActionListener(this); s7=new JButton(" 7 "); s7.addActionListener(this); s8=new JButton(" 8 "); s8.addActionListener(this); s9=new JButton(" 9 "); s9.addActionListener(this); s0=new JButton(" 0 "); s0.addActionListener(this); b1=new JButton(" + "); b1.addActionListener(this); b2=new JButton(" - "); b2.addActionListener(this); b3=new JButton(" * "); b3.addActionListener(this); b4=new JButton(" / "); b4.addActionListener(this); f1=new JButton(" . "); f1.addActionListener(this); f2=new JButton(" = "); f2.addActionListener(this); jPanel2.add(s1); jPanel2.add(s2); jPanel2.add(s3); jPanel2.add(b1); jPanel2.add(s4); jPanel2.add(s5); jPanel2.add(s6); jPanel2.add(b2); jPanel2.add(s7); jPanel2.add(s8); jPanel2.add(s9); jPanel2.add(b3); jPanel2.add(s0); jPanel2.add(f1); jPanel2.add(f2); jPanel2.add(b4); con.add(jPanel2,BorderLayout.CENTER);

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧