java窗口的实现---计算器(算加法)
发表于:2007-07-04来源:作者:点击数:
标签:
/*********************************************************************** * Module: Caculater. java * Author: Administrator * Created: 2004-12-7 23:48:21 * Purpose: ***********************************************************************/ pac
/***********************************************************************
* Module: Caculater.
java * Author: Administrator
* Created: 2004-12-7 23:48:21
* Purpose:
***********************************************************************/
package org.heixue.test.applet;
/**
* @author Administrator
*/
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Calculater extends JApplet {
JMenu[] menus = { new JMenu("选项"),new JMenu("关于")};
JMenuItem[] items = {new JMenuItem("关于"),new JMenuItem("设置背景色") };
JButton b1 = new JButton("运算");
JOptionPane b2 = new JOptionPane("运算...");
JTextField txt1 = new JTextField("100",10);
JTextField txt2 = new JTextField("200",10);
JTextField txt3 = new JTextField(20);
JLabel[] label = {new JLabel("+"),new JLabel("=")};
JColorChooser jcc = new JColorChooser();
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent e){
//String name = ((JButton)e.getSource()).getText();
int m = JOptionPane.showConfirmDialog(null, "继续进行运算吗?", "确定",JOptionPane.YES_NO_OPTION);
if(m==0){
String op1 = txt1.getText();
String op2 = txt2.getText();
txt3.setText(bussiness(op1,op2));
//txt3.setText(m+"");
}
}
};
ActionListener al2 = new ActionListener() {
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null, "作者:黑雪小组", "关于...",JOptionPane.INFORMATION_MESSAGE);
}
};
ActionListener al3 = new ActionListener() {
public void actionPerformed(ActionEvent e){
JColorChooser.createDialog(null,"背景色...",true,jcc,al4,null).show();
}
};
ActionListener al4 = new ActionListener() {
public void actionPerformed(ActionEvent e){
changeFace(0,jcc.getColor());
}
};
public void init() {
//initialize layout.
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
//set menu bar.
menus[0].add(items[1]);
items[1].addActionListener(al3);
menus[1].add(items[0]);
items[0].addActionListener(al2);
JMenuBar mb = new JMenuBar();
for(int i = 0; i < menus.length; i++)
mb.add(menus[i]);
setJMenuBar(mb);
//add 3 JTextfield.
cp.add(txt1);
cp.add(label[0]);
cp.add(txt2);
cp.add(label[1]);
cp.add(txt3);
//add 1 button with JOptionPane
cp.add(b1);
b1.addActionListener(al);
}
void changeFace(int i,Object o){
if(i==0){
//设置背景色
this.getContentPane().setBackground((Color)o);
//setBackground((Color)o);
}
}
String bussiness(String op1,String op2){
int result=0;
int op11=0;
int op21=0;
try{
op11=Integer.parseInt(op1);
}catch(Exception e1){
}
try{
op21=Integer.parseInt(op2);
}catch(Exception e1){
}
result=op11+op21;
return ""+result;
}
public static void main(String[] args) {
JApplet applet = new Calculater();
JFrame frame = new JFrame("计算器");
// To close the application:
//Console.setupClosing(frame);
frame.getContentPane().add(applet);
frame.setSize(260,140);
applet.init();
applet.start();
frame.setVisible(true);
}
} ///:~
原文转自:http://www.ltesting.net