如上面题目
解决方案 »
- 请教各位高手:用Eclipse做图形界面能否实现对按钮、标签的拖动?
- 有关GirdLayout()
- java编译.exe问题
- 把JTABLE的一个CELL分成上下两部分分别显示不同内容,之后如何显示tablemodel中的数据
- 请教classloader的问题
- 只指定数据包要发送的端口,怎么接收不了?
- 初学java问题1:)请问下面两句话是什么意思?
- 我要学习java,想问一些关于java的安装问题
- 有谁做过把一张图片大小成比例缩小(相应图形的存储大小也要缩小)的Java程序吗?
- 钱该怎么赚???什么JAVA编译器才是最常用的???
- win2008下JAVA的问题
- 求一个JS制作浮动页面的源码!!!
import java.awt.Button;
import java.awt.GridLayout;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;import javax.swing.JFrame;
import java.util.*;public class CounterFrame extends JFrame implements ActionListener {
//取得屏幕的宽度
int width=Toolkit.getDefaultToolkit().getScreenSize().width;
//取得屏幕的高度
int height=Toolkit.getDefaultToolkit().getScreenSize().height;
boolean flag = true;
String num1="";
Button b0 = new Button("1");
Button b1 = new Button("2");
Button b2 = new Button("3");
Button b3 = new Button("0");
Button b4 = new Button("/");
Button b5 = new Button("=");
Button b6 = new Button("4");
Button b7 = new Button("5");
Button b8 = new Button("6");
Button b9 = new Button("*");
Button ba = new Button("+");
Button bb = new Button("-");
Button bc = new Button("7");
Button bd = new Button("8");
Button be = new Button("9");
Button bf = new Button("BackSpace");
Button bg = new Button("sqrt");
//Button bh = new Button("exit");
TextArea taContent = new TextArea();
//TextField tfTxt = new TextField();
//System.out.println(b2.paramString());
public CounterFrame()
{
//设置标题
this.setTitle("计算器(YDC版)");
//设置窗口大小
this.setSize(700, 300);
//设置窗体出现位置
this.setLocation((width-500)/2,(height-500)/2);
//设置窗体大小不可变
this.setResizable(false);
//将窗体的关闭方式设置为默认关闭后关闭程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//this.add(tfTxt, BorderLayout.NORTH);
this.setLayout (new GridLayout(3,6));//三行两列
this.add(b0);
this.add(b1);
this.add(b2);
this.add(b3);
this.add(b4);
this.add(b5);
this.add(b6);
this.add(b7);
this.add(b8);
this.add(b9);
this.add(ba);
this.add(bb);
this.add(bc);
this.add(bd);
this.add(be);
this.add(bf);
this.add(bg);
//this.add(bh);
//this.pack();
this.add(taContent, BorderLayout.SOUTH);
b0.addActionListener(this);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
ba.addActionListener(this);
bb.addActionListener(this);
bc.addActionListener(this);
bd.addActionListener(this);
be.addActionListener(this);
bf.addActionListener(this);
bg.addActionListener(this);
//System.out.println(b1.getLabel());
//为窗口加入监听器
//this.addMouseListener(this);
//将窗体显示出来
this.setVisible(true);
} public void actionPerformed(ActionEvent e) {
long n1,n2,sum;
if(e.getSource() == b0)
{
num1+=1;
taContent.setText(num1);
}
if(e.getSource() == b1)
{
System.out.println("2");
num1+=2;
taContent.setText(num1);
}
if(e.getSource() == b2)
{
System.out.println("3");
num1+=3;
taContent.setText(num1);
}
if(e.getSource() == b3)
{
num1+=0;
taContent.setText(num1);
}
if(e.getSource() == b4)
{
num1+="/";
taContent.setText(num1);
}
if(e.getSource() == b5)
{
String num = taContent.getText().trim();
//System.out.println(num);
if(num.contains("+"))
{
String[] tempnum=num.split("\\+");
//num1="";
n1 = Integer.parseInt(tempnum[0]);
n2 = Integer.parseInt(tempnum[1]);
sum = n1+n2;
taContent.setText(num1+"="+sum);
}
if(num.contains("-"))
{
String[] tempnum=num.split("\\-");
//num1="";
n1 = Integer.parseInt(tempnum[0]);
n2 = Integer.parseInt(tempnum[1]);
sum = n1-n2;
taContent.setText(num1+"="+sum);
}
if(num.contains("*"))
{
String[] tempnum=num.split("\\*");
//num1="";
n1 = Integer.parseInt(tempnum[0]);
n2 = Integer.parseInt(tempnum[1]);
sum = n1*n2;
taContent.setText(num1+"="+sum);
}
if(num.contains("/"))
{
double d1=0,d2=0;
double sum1=0.0;
String[] tempnum=num.split("/");
//num1="";
d1 = Double.parseDouble(tempnum[0]);
d2 = Double.parseDouble(tempnum[1]);
try
{
sum1 = d1 / d2;
}
catch(ArithmeticException ex)
{
ex.printStackTrace();
}
taContent.setText(num1+"="+sum1);
}
num1=""; //taContent.getText();
}
if(e.getSource() == b6)
{
num1+=4;
taContent.setText(num1);
}
if(e.getSource() == b7)
{
num1+=5;
taContent.setText(num1);
}
if(e.getSource() == b8)
{
num1+=6;
taContent.setText(num1);
}
if(e.getSource() == b9)
{
num1+="*";
taContent.setText(num1);
}
if(e.getSource() == ba)
{
num1=num1+"+";
taContent.setText(num1);
}
if(e.getSource() == bb)
{
num1=num1+"-";
taContent.setText(num1);
}
if(e.getSource() == bc)
{
num1+=7;
taContent.setText(num1);
}
if(e.getSource() == bd)
{
num1+=8;
taContent.setText(num1);
}
if(e.getSource() == be)
{
num1+=9;
taContent.setText(num1);
}
if(e.getSource() == bf)
{
num1="";
taContent.setText(num1);
}
if(e.getSource() == bg)
{
num1=num1+"*"+num1;
taContent.setText(num1);
}
}
}
看看这个代码,上面我都做的注释,看完了应该就明白了