java中三个按钮共享一个监听器,但我的程序编译不了,高手帮我看看吧

问题描述

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.util.*;publicclassButtonTest{publicstaticvoidmain(String[]args){ButtonFrameframe=newButtonFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}}classButtonFrameextendsJFrame{publicButtonFrame(){setTitle("ButtonTest");setBounds(100,100,300,200);ButtonPanelpanel=newButtonPanel();add(panel);}}/**********classButtonPanelextendsJPanel{publicButtonPanel(){JButtonyellowButton=newJButton("yellow");JButtonblueButton=newJButton("blue");JButtonredButton=newJButton("red");add(yellowButton);add(blueButton);add(redButton);//********为每个颜色构造一个对象,并将这些对象设置为按钮监听器***ColorActionyellowAction=newColorAction(Color.YELLOW);ColorActionblueAction=newColorAction(Color.BLUE);ColorActionredAction=newColorAction(Color.RED);yellowButton.addActionListener(yellowAction);//为事件源添加监听器对象blueButton.addActionListener(blueAction);redButton.addActionListener(redAction);}classColorActionimplementsActionListener{publicColorAction(Colorc){backgroundColor=c;}publicvoidactionPerformed(ActionEventevent){setBackground(backgroundColor);}ColorbackgroundColor;}//ColorbackgroundColor;}*************/classButtonPanelextendsJPanelimplementsActionListener{publicButtonPanel(){JButtonyellowButton=newJButton("yellow");JButtonblueButton=newJButton("blue");JButtonredButton=newJButton("red");add(yellowButton);add(blueButton);add(redButton);yellowButton.addActionListener(this);blueButton.addActionListener(this);redButton.addActionListener(this);}publicvoidactionPerformed(ActionEventevent){JButtonbt=(JButton)event.getSource();if(bt==yellowButton)setBackground(Color.YELLOW);elseif(bt==blueButton)setBackground(Color.BLUE);elseif(bt==redButton)setBackground(Color.RED);}}

解决方案

解决方案二:
格式复制过来,就不好看了,大家见谅呀
解决方案三:

解决方案四:
建议楼主调好格式,去javase板块里发帖子
解决方案五:
importjava.awt.Color;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPanel;publicclassButtonTest{publicstaticvoidmain(String[]args){ButtonFrameframe=newButtonFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}}classButtonFrameextendsJFrame{publicButtonFrame(){setTitle("ButtonTest");setBounds(100,100,300,200);ButtonPanelpanel=newButtonPanel();add(panel);}}classButtonPanelextendsJPanelimplementsActionListener{privateStringCMD_YELLOW="yellow";privateStringCMD_BLUE="blue";privateStringCMD_RED="red";publicButtonPanel(){JButtonyellowButton=newJButton(CMD_YELLOW);JButtonblueButton=newJButton(CMD_BLUE);JButtonredButton=newJButton(CMD_RED);add(yellowButton);add(blueButton);add(redButton);yellowButton.addActionListener(this);blueButton.addActionListener(this);redButton.addActionListener(this);}publicvoidactionPerformed(ActionEvente){if(CMD_YELLOW.equals(e.getActionCommand())){setBackground(Color.YELLOW);}elseif(CMD_BLUE.equals(e.getActionCommand())){setBackground(Color.BLUE);}elseif(CMD_RED.equals(e.getActionCommand()))setBackground(Color.RED);}}

时间: 2024-12-24 10:33:02

java中三个按钮共享一个监听器,但我的程序编译不了,高手帮我看看吧的相关文章

java中这两个构造方法一个队,一个错?感觉没有区别啊?

问题描述 java中这两个构造方法一个队,一个错?感觉没有区别啊? 第一种: public class point { private double x; private double y; public point(){ this(0,0); } public point(double x, double y){ this.x = x; this.y = y; } } 第二种 public class point { private double x; private double y; pu

java中循环添加按钮后 要添加监听这么区分按钮

问题描述 java中循环添加按钮后 要添加监听这么区分按钮 while(rs.next()){ String friendId=rs.getString(""friendid""); jb=new JButton(); jb.setText(friendId); jb.setBounds(10i10030); i=i+50; jsp.add(jb); } 这句话循环读数据库去除ID然后添加按钮,但是这么区分 我试验了下 监听只能最后一个按钮能行 其他不行 解决方案

安卓开发-java中的spring框架是一个怎么样的框架,

问题描述 java中的spring框架是一个怎么样的框架, java中的spring框架是一个怎么样的框架, 在android开发当中有没有应用到呢 解决方案 spring最初是一个IoC框架,主要的作用是实现组件的管理.有时候我们希望程序中一些代码可以标准化并且被替换,比如一个管理系统底层可以使用SQL Server,也可以使用MySQL,那么我们编写两个符合接口的组件,Spring的作用是通过配置文件把需要的组件装配起来,比如得到一套支持mssql的系统,一套支持mysql的系统. 而主程序

vs2008中c#中怎样解决一个winform中几个按钮共用一个程序(例如 一个winform有3个退出)

问题描述 vs2008中c#编程:怎样解决一个winform中几个相同作用的按钮共用一个程序(例如一个winform有3个退出按钮)????谢谢请帮助一下???? 解决方案 本帖最后由 guokao666 于 2011-12-20 17:35:28 编辑解决方案二:按钮数组?解决方案三:楼主是说3个按钮都调用同一个函数把解决方案四:将按钮的click事件都绑定到一个函数上.解决方案五:privatevoidBindTest(){MessageBox.Show("ok");}privat

java-请教JAVA中的Calendar类的一个问题

问题描述 请教JAVA中的Calendar类的一个问题 请问大神,我画红框的部分就是我出问题的地方,为什么我set好的Date值是5月,而下面输出后是0月?搞得下面的add方法也是从0开始加3 解决方案 把SimpleDateFormat中的m改为大写的M,改为"yyyy年MM月dd日".而且要注意,获取到的Month是用0-11表示的,如果要表示真实的日期,要记得+1. 解决方案二: yyyy年M月d日 看看

方法-java中关于自己建的一个缓冲流中的问题

问题描述 java中关于自己建的一个缓冲流中的问题 1 import java.io.*; 2 //创建的这个类其实还是调用的FileReader的read方法,所以它会抛出IOException: 3 class MyBufferedReader{ 4 //属性(要想使用这个缓冲流就得先创建一个这个文件流,得把它弄成属性作为一个参数): 5 private FileReader fr; 6 public MyBufferedReader(FileReader fr){ 7 this.fr=fr

JAVA中在文本框输入一个字符,下拉菜单中自动检索出现对应的字符怎么实现,急求各位大师了。

问题描述 JAVA中在文本框输入一个字符,下拉菜单中自动检索出现对应的字符怎么实现,急求各位大师了. 如1对应电汇,2对应信用证 当我在本框中输入1,则自动弹出对应下拉菜单:电汇 解决方案 网上一大堆,看你是要动态渲染,还是静态!

java中R.layout.shangpindetailview是一个文件路径吗

问题描述 java中R.layout.shangpindetailview是一个文件路径吗 java中R.layout.shangpindetailview是一个文件路径吗 还是一个路径下的一个文件 解决方案 应该是的,你从他的属性里看一下

java中 Integer a=5;和Integer a = new Integer(5);的区别?请高手赐教。

问题描述 java中 Integer a=5;和Integer a = new Integer(5);的区别?请高手赐教. /*首先要知道的常识:1.关系操作符==:计算""操作数""的 值 之间的关系,结果为true或者false;这操作数指的是所有的基本数据类型以及所有对象;2.equals():是Object类中的方法,equals()作用和==相同,但是不适用于基本数据类型:3.自己定义的类可以覆盖Object类中的equals(); *///下面来看一个例