比如一个JButton控件,如何把它的值(假设为1)传到JTextField上并显示出来,并且把JButton的值送给一个变量
(我知道要用监听器,但是事件发生后处理的方法怎么写不知道)
望各位大侠指教!

解决方案 »

  1.   

    比如要修改的JTextField声明时是这样声明的
    JTextField tx = new JTextField();
    JButton控件加一个监听器
    事件发生后处理的方法可以加上:
    tx.setText(""+1);
      

  2.   

    package com.javamvp.swingdemo;
    import java.awt.Container;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    class CreatJF09 extends JFrame implements ItemListener{
    JComboBox jcb;
    CreatJF09() 
    {
        setSize(400,400);
    setLocation(400, 300);
    String items[] = { "请选择颜色", "红", "橙", "黄" };
    jcb = new JComboBox(items); // 新建初始有三个选项的组合框
    jcb.addItem("绿"); // 向组合框添加新选项
    jcb.addItem("蓝");
    Container con=getContentPane();
    con.add(jcb,BorderLayout.NORTH);
    // add(jcb, BorderLayout.NORTH); jdk1.6默认十container,不用创建自动添加
            jcb.addItemListener(this);
            setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void itemStateChanged(ItemEvent e) 
    { int index = jcb.getSelectedIndex();//返回选中的项目序号
    Color color = Color.WHITE;
    switch (index) {
    case 1:
    color = Color.RED; break;
    case 2:
    color = Color.ORANGE; break;
    case 3:
    color = Color.YELLOW; break;
    case 4:
    color = Color.GREEN; break;
    case 5:
    color = Color.BLUE; break;
    }
    Container con = getContentPane(); // 获取框架窗口的内容面板
    con.setBackground(color);           //改变背景色
    }
    }
    public class SwingDemo09 {
      
    public static void main(String args[])
    {
    CreatJF09 f = new CreatJF09(); }
    }给个小例子
      

  3.   

    package com.javamvp.swingdemo;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    class CreatJF06 extends JFrame{
    CreatJF06 (){
    super("change!");
    setSize(200,200);
    setLocation(600,500);
    setVisible(true);

    Container con=getContentPane();
    Icon icon=new ImageIcon("d://1.gif");
    final JButton jb=new JButton("chang",icon);
    con.add(jb);
    jb.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    Icon icon=new ImageIcon("d://2.gif");
    jb.setIcon(icon);
    System.out.println("你点了图标");
    }
    });
     
    }

    }
    public class SwingDemo06 {
             public static void main(String args[])
             {
              
              CreatJF06 jf=new CreatJF06();
             }
    }都是以前写的例子,希望对楼主有帮助
      

  4.   


    jbutton.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
                                  //当按钮被点时要做的事
    }
    });
      

  5.   

     public void actionPerformed(ActionEvent e)在这个方法里设置事件发生后要做的事
      

  6.   

    LZ说的JButton的值建议通过setActionCommand设置
    然后在各种触发事件的时候通过getActionCommand取到那个值再SetText到JTextField上
    也不知道LZ要的是什么事件
    如果是ActionEvent
    jbutton.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                                 String s=((JButton)e.getSource()).getActionCommand();
                                 textField.setText(s);
                }
            });
      

  7.   

    补充一下,取的值最好要能在TextField上叠加显示的,比如取完1后又取了2叠加完后是12
    麻烦各位了
      

  8.   

    那就换成JTextAre吧,可以使用append()方法进行追加输入
      

  9.   

    就是像计算器那样的,按一个数字键将这个数字键的值送到文本框TextField显示,那样的话事件触发的方法要怎么写啊(抱歉我前面没有讲清楚)
      

  10.   

    public void actionPerformed(ActionEvent e) {
    String str=e.getActionCommand().trim();
    if("0123456789.+-*/()".indexOf(str)!=-1){
    field.setText(field.getText()+str); }
    }