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 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM