sinat_24245933 2014-12-05 07:28 采纳率: 0%
浏览 2008

java初学者,老师要求做计算器。页面做好了,就是不知道怎么实现按钮的功能

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

public class JSQ extends JFrame{
private static final long serialVersionUID = -8568126884560298943L;

public JSQ(){
      Container C=getContentPane();

      result.setEnabled(false);
      result.setHorizontalAlignment(JTextField.RIGHT);
      result.setColumns(12);
      Font f=new Font("宋体",Font.BOLD,36);
      result.setFont(f);

      JButton clear=new JButton("CE");
      JButton point=new JButton(".");
      JButton count=new JButton("=");
      JButton add=new JButton("+");
      JButton sub=new JButton("—");
      JButton mul=new JButton("*");
      JButton div=new JButton("/");
      JButton back=new JButton("C");
      JButton electric=new JButton("ON/OFF");
      JButton music=new JButton("music");

      JButton[] button=new JButton[10];
      for(int i=0;i<=9;i++){
         button[i]=new JButton(""+i);
      }

      JPanel p=new JPanel();
      p.setLayout(new BorderLayout(0,0));
      p.add(result,BorderLayout.NORTH);
      p.setBorder(new EmptyBorder(5,5,5,5));

      JPanel p1=new JPanel();
      p1.setSize(210,250);
      p1.setLayout(new GridLayout(4,5,5,5));
      for(int i=9;i>=0;i--){
          p1.add(button[i]);
      }
      p1.add(point); 
      p1.add(back);
      p1.setBorder(new EmptyBorder(5,0,0,0));


      JPanel p2=new JPanel();
      p2.setLayout(new GridLayout(4,2,5,5));
      p2.setBorder(new EmptyBorder(5,0,0,0));
      p2.add(music); 
      p2.add(electric);
      p2.add(clear);
      p2.add(add);
      p2.add(sub);
      p2.add(mul);
      p2.add(div);
      p2.add(count);

      JPanel p3=new JPanel();
      p3.setLayout(new GridLayout(1,2,5,5));
      p3.add(p1);
      p3.add(p2);

      p.add(p3,BorderLayout.CENTER);
      C.add(p); 


}


public static void main(String[] args) {
      JSQ J=new JSQ();
      J.setTitle("计算器");
      J.setSize(420,300);
      J.setLocationRelativeTo(null);
      J.setDefaultCloseOperation(EXIT_ON_CLOSE);
      J.setVisible(true); 
}

}

  • 写回答

4条回答 默认 最新

  • tjudream1 2014-12-05 07:53
    关注

    Button应该有事件监听器,在事件监听器中应该有onclick方法,
    当发生点击事件时执行onclick方法

    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧