java给按钮添加事件的问题
事件写在一个类中,可以实现。单击这三个按钮,文本框显示对于按钮的文本。importjava.awt.*;importjava.awt.event.*;importjava...
事件写在一个类中,可以实现。单击这三个按钮,文本框显示对于按钮的文本。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ButtonListener extends JFrame implements ActionListener{
JButton ok, cancel,exit;
JTextField t=new JTextField(8);
public ButtonListener(String title){
super(title);
this.setLayout(new FlowLayout());
ok = new JButton("确定");
cancel = new JButton("返回");
exit = new JButton("退出");
ok.addActionListener(this);
cancel.addActionListener(this);
exit.addActionListener(this);
getContentPane().add(ok);
getContentPane().add(cancel);
getContentPane().add(exit);
getContentPane().add(t);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==ok)
t.setText("确定");
if(e.getSource()==cancel)
t.setText("返回");
if(e.getSource()==exit)
t.setText("退出");
}
public static void main(String args[]) {
ButtonListener pd=new ButtonListener("ActionEvent Demo");
pd.setSize(250,100);
pd.setVisible(true);
}
}
我想把它写成两个类,两个源文件,还实现上面的结果应该怎么写呢?
一个ButtonListener1类,一个 MyListener类
注意:ButtonListener1类和, MyListener类是各写在一个单独的源文件中的。
//ButtonListener1类源文件
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ButtonListener1 extends JFrame {
JButton ok, cancel,exit;
JTextField t=new JTextField(8);
public ButtonListener1(){
//super(title);
this.setLayout(new FlowLayout());
ok = new JButton("确定");
cancel = new JButton("返回");
exit = new JButton("退出");
ok.addActionListener(new MyListener());
cancel.addActionListener(new MyListener());;
exit.addActionListener(new MyListener());;
getContentPane().add(ok);
getContentPane().add(cancel);
getContentPane().add(exit);
getContentPane().add(t);
}
public static void main(String args[]) {
ButtonListener1 pd=new ButtonListener1();
pd.setSize(250,100);
pd.setVisible(true);
}
}
// MyListener类源文件
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class MyListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getActionCommand()=="确定"){
}
if(e.getActionCommand()=="返回"){
}
if(e.getActionCommand()=="退出"){
}
} 展开
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ButtonListener extends JFrame implements ActionListener{
JButton ok, cancel,exit;
JTextField t=new JTextField(8);
public ButtonListener(String title){
super(title);
this.setLayout(new FlowLayout());
ok = new JButton("确定");
cancel = new JButton("返回");
exit = new JButton("退出");
ok.addActionListener(this);
cancel.addActionListener(this);
exit.addActionListener(this);
getContentPane().add(ok);
getContentPane().add(cancel);
getContentPane().add(exit);
getContentPane().add(t);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==ok)
t.setText("确定");
if(e.getSource()==cancel)
t.setText("返回");
if(e.getSource()==exit)
t.setText("退出");
}
public static void main(String args[]) {
ButtonListener pd=new ButtonListener("ActionEvent Demo");
pd.setSize(250,100);
pd.setVisible(true);
}
}
我想把它写成两个类,两个源文件,还实现上面的结果应该怎么写呢?
一个ButtonListener1类,一个 MyListener类
注意:ButtonListener1类和, MyListener类是各写在一个单独的源文件中的。
//ButtonListener1类源文件
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ButtonListener1 extends JFrame {
JButton ok, cancel,exit;
JTextField t=new JTextField(8);
public ButtonListener1(){
//super(title);
this.setLayout(new FlowLayout());
ok = new JButton("确定");
cancel = new JButton("返回");
exit = new JButton("退出");
ok.addActionListener(new MyListener());
cancel.addActionListener(new MyListener());;
exit.addActionListener(new MyListener());;
getContentPane().add(ok);
getContentPane().add(cancel);
getContentPane().add(exit);
getContentPane().add(t);
}
public static void main(String args[]) {
ButtonListener1 pd=new ButtonListener1();
pd.setSize(250,100);
pd.setVisible(true);
}
}
// MyListener类源文件
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class MyListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getActionCommand()=="确定"){
}
if(e.getActionCommand()=="返回"){
}
if(e.getActionCommand()=="退出"){
}
} 展开
3个回答
展开全部
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
class ButtonListener1 extends JFrame
{
JButton ok, cancel, exit;
JTextField t = new JTextField(8);
public ButtonListener1()
{
// super(title);
this.setLayout(new FlowLayout());
ok = new JButton("确定");
cancel = new JButton("返回");
exit = new JButton("退出");
ok.addActionListener(new MyListener(this));
cancel.addActionListener(new MyListener(this));
exit.addActionListener(new MyListener(this));
getContentPane().add(ok);
getContentPane().add(cancel);
getContentPane().add(exit);
getContentPane().add(t);
}
public static void main(String args[])
{
ButtonListener1 pd = new ButtonListener1();
pd.setSize(250, 100);
pd.setVisible(true);
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class MyListener implements ActionListener
{
private ButtonListener1 frame;
public MyListener()
{
}
public MyListener(ButtonListener1 frame)
{
this.frame = frame;
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand() == "确定")
{
frame.t.setText("确定");
}
if (e.getActionCommand() == "返回")
{
frame.t.setText("返回");
}
if (e.getActionCommand() == "退出")
{
frame.t.setText("退出");
}
}
}
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
class ButtonListener1 extends JFrame
{
JButton ok, cancel, exit;
JTextField t = new JTextField(8);
public ButtonListener1()
{
// super(title);
this.setLayout(new FlowLayout());
ok = new JButton("确定");
cancel = new JButton("返回");
exit = new JButton("退出");
ok.addActionListener(new MyListener(this));
cancel.addActionListener(new MyListener(this));
exit.addActionListener(new MyListener(this));
getContentPane().add(ok);
getContentPane().add(cancel);
getContentPane().add(exit);
getContentPane().add(t);
}
public static void main(String args[])
{
ButtonListener1 pd = new ButtonListener1();
pd.setSize(250, 100);
pd.setVisible(true);
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class MyListener implements ActionListener
{
private ButtonListener1 frame;
public MyListener()
{
}
public MyListener(ButtonListener1 frame)
{
this.frame = frame;
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand() == "确定")
{
frame.t.setText("确定");
}
if (e.getActionCommand() == "返回")
{
frame.t.setText("返回");
}
if (e.getActionCommand() == "退出")
{
frame.t.setText("退出");
}
}
}
展开全部
1、 ButtonListener1 在 JTextField t=new JTextField(8) 前面添加 public static , 然后MyListener 中这样调用 ButtonListener1 .t.setText("确定/返回/退出"); 这样就行了,我这里贴不了效果图,不知道为什么。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不是已经写的差不多了啊,就是不知道怎么输出按钮的文本嘛? ActionEvent e 这个 e 里面可以获取点击的对象,强转成 JButton 就可以获得按钮的内容了啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询