import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;public class J_Table extends JFrame{
public static final int WIDTH = 400;
public static final int HEIGHT = 250;
public static final String checkedLabel="";
private JTextField countertext;
private JButton  counterbutton;
    JTextField boardout; 

String s;
public J_Table()
{
    super("计算器");
    setSize(WIDTH, HEIGHT);
    Container c =getContentPane();
c.setLayout(new GridLayout());
    //建立容纳操作的面板
JPanel buttonPanel = new JPanel();
int i;
for(i=0;i<10;i++)
{
s=""+i;
counterbutton=new JButton(s);
buttonPanel.add(counterbutton);
c.add(buttonPanel);

}

counterbutton=new JButton("=");
buttonPanel.add(counterbutton);
c.add(buttonPanel);
counterbutton=new JButton("c");
buttonPanel.add(counterbutton);
c.add(buttonPanel);
counterbutton=new JButton(" +");
buttonPanel.add(counterbutton);
c.add(buttonPanel);
counterbutton=new JButton(" -");
buttonPanel.add(counterbutton);
c.add(buttonPanel);
counterbutton=new JButton(" * ");
buttonPanel.add(counterbutton);
c.add(buttonPanel);
counterbutton=new JButton(" /");
buttonPanel.add(counterbutton);
c.add(buttonPanel);

JPanel textPanel = new JPanel();
//新建文本区

countertext = new JTextField(checkedLabel,10);
textPanel.add(countertext); c.add(textPanel);

//用匿名类来实现按钮动作
JButton n = new JButton();
n.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)

char a ='0';
String v =String.valueOf(a); 
if(a!='='&&a!='c')
{
JTextField boardout=(JTextField)e.getSource();
countertext.setText(v);
    }
 else
 {
  
 }

  }

}
);





}}
我做好的计算器界面,想单击按钮,可以将值显示在文本框中,请大家指教!

解决方案 »

  1.   

    我也知道,可是究竟是要给文本框加监听器还是给按钮加,不是很清楚。
    就是下面这段
    //用匿名类来实现按钮动作 
    JButton n = new JButton(); 
    n.addActionListener(new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    char a ='0'; 
    String v =String.valueOf(a); 
    if(a!='='&&a!='c') 

    JTextField boardout=(JTextField)e.getSource(); 
    countertext.setText(v); 
        } 
    else 

      
    }   } } 
    ); } }