import java.awt.*;
import java.awt.event.*;
import javax.swing.*;class BackgroundFrame extends Frame
{
BackgroundFrame(String Title){
super(Title);
setLayout(new GridLayout(2,1));
setVisible(true); }
}class NumberButton extends Button
{
NumberButton(String Num){
super(Num);
}
}class KeyboardPanel extends Panel
{
KeyboardPanel(){
setLayout(new GridLayout(4,4));
}
}class Calculator
{
public static void main(String[] args)
{
BackgroundFrame B=new BackgroundFrame("tony calculator");
KeyboardPanel K=new KeyboardPanel();
TextField Information=new TextField();
NumberButton N1,N2,N3,N4,N5,N6,N7,N8,N9,N0,Na,Nm,Nmul,Ndiv,Ne,N16;
N1=new NumberButton("1");
N2=new NumberButton("2");
N3=new NumberButton("3");
N4=new NumberButton("4");
N5=new NumberButton("5");
N6=new NumberButton("6");
N7=new NumberButton("7");
N8=new NumberButton("8");
N9=new NumberButton("9");
N0=new NumberButton("0");
Na=new NumberButton("+");
Nm=new NumberButton("-");
Nmul=new NumberButton("*");
Ndiv=new NumberButton("/");
Ne=new NumberButton("=");
N16=new NumberButton(" ");
K.add(N1);
K.add(N2);
K.add(N3);
K.add(N4);
K.add(N5);
K.add(N6);
K.add(N7);
K.add(N8);
K.add(N9);
K.add(N0);
K.add(Na);
K.add(Nm);
K.add(Nmul);
K.add(Ndiv);
K.add(Ne);
K.add(N16);
B.add(Information);
B.add(K);
B.pack();
}
}
import java.awt.event.*;
import javax.swing.*;class BackgroundFrame extends Frame
{
BackgroundFrame(String Title){
super(Title);
setLayout(new GridLayout(2,1));
setVisible(true); }
}class NumberButton extends Button
{
NumberButton(String Num){
super(Num);
}
}class KeyboardPanel extends Panel
{
KeyboardPanel(){
setLayout(new GridLayout(4,4));
}
}class Calculator
{
public static void main(String[] args)
{
BackgroundFrame B=new BackgroundFrame("tony calculator");
KeyboardPanel K=new KeyboardPanel();
TextField Information=new TextField();
NumberButton N1,N2,N3,N4,N5,N6,N7,N8,N9,N0,Na,Nm,Nmul,Ndiv,Ne,N16;
N1=new NumberButton("1");
N2=new NumberButton("2");
N3=new NumberButton("3");
N4=new NumberButton("4");
N5=new NumberButton("5");
N6=new NumberButton("6");
N7=new NumberButton("7");
N8=new NumberButton("8");
N9=new NumberButton("9");
N0=new NumberButton("0");
Na=new NumberButton("+");
Nm=new NumberButton("-");
Nmul=new NumberButton("*");
Ndiv=new NumberButton("/");
Ne=new NumberButton("=");
N16=new NumberButton(" ");
K.add(N1);
K.add(N2);
K.add(N3);
K.add(N4);
K.add(N5);
K.add(N6);
K.add(N7);
K.add(N8);
K.add(N9);
K.add(N0);
K.add(Na);
K.add(Nm);
K.add(Nmul);
K.add(Ndiv);
K.add(Ne);
K.add(N16);
B.add(Information);
B.add(K);
B.pack();
}
}
解决方案 »
- 求个正则表达式
- 如何重新设置HashSet的哈希函数?
- 一个高中肄业生,没有任何基础,一个月的时间学完《Java ?How To Program》上册可以么?不上机,就是光看书的方式
- 如何更好的理解和学习类,对象,请高手指教
- 高人请进:请问Graphics和Graphics2D类中的abstract方法最终是由哪些类实现的?
- 一个更奇怪的问题-JTextField中输入全角圆点的问题
- JBuilder问题!!!
- 急问:如何将java.util.Date转换成java.sql.Date,来算出两个日期相差天数?
- 问个无关java的题,再送分!祝大家新年快乐!万事大吉!!
- 大家来聊聊:JBUILDER5比JUILDER4在那方面改进了!?
- 关于引用
- 这段代码的输出很让我困惑,求高手解释下(关于StringBuffer)
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;public class Test extends JFrame implements ActionListener { int flag = 0; @Override
public void actionPerformed(ActionEvent e) {
// 如果你按了几次 + ,- ,* , /中的一个,你可以具体看是要最后一次呢,还是要最开始的那一次,你自已看下。
if (e.getSource() == plus) {
flag = 1;
operate.setText(" +");
}
if (e.getSource() == jian) {
flag = 2;
operate.setText(" -");
}
if (e.getSource() == cheng) {
flag = 3;
operate.setText(" *");
}
if (e.getSource() == chu) {
if (!data2.getText().equals("")
&& Double.parseDouble(data2.getText()) == 0) {
JOptionPane.showMessageDialog(this, "除数不能为0!");
data2.setText("");
// flag = 0;
}
flag = 4;
operate.setText(" /"); }
if (e.getSource() == clear) {
data1.setText("");
data2.setText("");
result.setText("");
operate.setText("");
flag = 0;
}
if (e.getSource() == js) {
String str1 = data1.getText();
String str2 = data2.getText();
if (str1.equals("") || str2.equals("")) {
JOptionPane.showMessageDialog(this, "数据区不能为空");
} else if (flag == 0)
JOptionPane.showMessageDialog(this, "操作符不能为空");
else {
double a = Double.parseDouble(str1);
double b = Double.parseDouble(str2);
double results = 0;
switch (flag) {
case 1:
results = a + b;
break;
case 2:
results = a - b;
break;
case 3:
results = a * b;
break;
case 4:
results = a / b;
break;
}
System.out.println(flag);
result.setText(Double.toString(results));
}
}
} JButton plus = new JButton("加");
JButton jian = new JButton("减");
JButton cheng = new JButton("乘");
JButton chu = new JButton("除");
JButton js = new JButton("计算");
JButton clear = new JButton("清零");
JLabel label = new JLabel("="); JTextField data1 = new JTextField(10);
JTextField operate = new JTextField(4);
JTextField data2 = new JTextField(10);
JTextField result = new JTextField(10); public Test() {
this.setTitle("计算器");
this.setBounds(300, 300, 400, 350);
this.setBackground(Color.DARK_GRAY);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
// 加监听。
plus.addActionListener(this);
jian.addActionListener(this);
cheng.addActionListener(this);
chu.addActionListener(this);
js.addActionListener(this);
clear.addActionListener(this); this.add(data1);
this.add(operate);
this.add(data2);
this.add(label);
this.add(result);
this.add(plus);
this.add(jian);
this.add(cheng);
this.add(chu);
this.add(js);
this.add(clear); } public static void main(String[] args) {
new Test().setVisible(true);
}}
this.addActionListener(...)
就好了。