java窗口计算程序代码 java窗口程序实例
java编写一个窗体程序,实现计算矩形的面积,当用户分别在长和宽编辑框里输入数值
加点分,我帮你
在新绛等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、成都做网站 网站设计制作按需开发,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,外贸网站建设,新绛网站建设费用合理。
算了,我给你写吧
放Ubuntu past了,有效期是1年:
网页链接
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
public class Square {
private JFrame frame;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Square window = new Square();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Square() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 235, 315);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.setResizable(false);
JLabel label = new JLabel("长:");
label.setBounds(27, 31, 27, 41);
frame.getContentPane().add(label);
textField = new JTextField();
textField.setBounds(88, 39, 86, 24);
frame.getContentPane().add(textField);
textField.setColumns(10);
JLabel label_1 = new JLabel("宽:");
label_1.setBounds(27, 85, 27, 41);
frame.getContentPane().add(label_1);
textField_1 = new JTextField();
textField_1.setBounds(88, 93, 86, 24);
frame.getContentPane().add(textField_1);
textField_1.setColumns(10);
JLabel label_2 = new JLabel("面积:");
label_2.setBounds(27, 154, 43, 18);
frame.getContentPane().add(label_2);
textField_2 = new JTextField();
textField_2.setColumns(10);
textField_2.setBounds(88, 151, 86, 24);
frame.getContentPane().add(textField_2);
JButton button = new JButton("计算");
button.setBounds(46, 213, 113, 27);
frame.getContentPane().add(button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Double d1 = Double.valueOf(textField.getText());
Double d2 = Double.valueOf(textField_1.getText());
Double d3 = (int) (d1 * d2 * 1000 + 0.5) / 1000.0;
textField_2.setText(d3.toString());
} catch (Exception e2) {
// TODO: handle exception
textField_2.setText("请输入数字!");
}
}
});
}
}
怎么用JAVA编写一个计算器窗口,并实现他的功能,求给出代码,对的话一定高分回报,谢谢了。。。
JAVA 计算器程序
Cadev.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.LinkedList;
import java.text.NumberFormat;
import javax.swing.border.*;
public class Cadev extends JFrame implements ActionListener
{
Nbtn nbtn[];
Obtn obtn[];
Button dotbtn,PlusOrMinusbtn,Backspacebtn,
recbtn,equbtn,clbtn;
JPanel panel;
JTextField resultShow;
String Oper[]={"+","-","*","/"};
LinkedList link;
boolean sfcequ=false;
public Cadev()
{
super("计算器");
link=new LinkedList();
nbtn=new Nbtn[10];
for(int i=0;i=9;i++)
{
nbtn[i]=new Nbtn(i);
nbtn[i].addActionListener(this);
}
obtn=new Obtn[4];
for(int i=0;i4;i++)
{
obtn[i]=new Obtn(Oper[i]);
obtn[i].addActionListener(this);
}
dotbtn=new Button(".");
PlusOrMinusbtn=new Button("+/-");
equbtn=new Button("=");
recbtn=new Button("1/x");
Backspacebtn=new Button("退格");
clbtn=new Button("C");
recbtn.setForeground(Color.blue);
dotbtn.setForeground(Color.blue);
PlusOrMinusbtn.setForeground(Color.blue);
equbtn.setForeground(Color.red);
Backspacebtn.setForeground(Color.red);
clbtn.setForeground(Color.red);
dotbtn.addActionListener(this);
PlusOrMinusbtn.addActionListener(this);
equbtn.addActionListener(this);
recbtn.addActionListener(this);
Backspacebtn.addActionListener(this);
clbtn.addActionListener(this);
resultShow=new JTextField(10);
resultShow.setHorizontalAlignment(JTextField.RIGHT);
resultShow.setFont(new Font("TimesRoman",Font.PLAIN,14));
resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
resultShow.setBackground(Color.white);
resultShow.setEditable(false);
panel=new JPanel();
panel.setLayout(new GridLayout(4,5));
panel.add(nbtn[1]);
panel.add(nbtn[2]);
panel.add(nbtn[3]);
panel.add(obtn[0]);
panel.add(clbtn);
panel.add(nbtn[4]);
panel.add(nbtn[5]);
panel.add(nbtn[6]);
panel.add(obtn[1]);
panel.add(Backspacebtn);
panel.add(nbtn[7]);
panel.add(nbtn[8]);
panel.add(nbtn[9]);
panel.add(obtn[2]);
panel.add(recbtn);
panel.add(nbtn[0]);
panel.add(PlusOrMinusbtn);
panel.add(dotbtn);
panel.add(obtn[3]);
panel.add(equbtn);
add(panel,BorderLayout.CENTER);
add(resultShow,BorderLayout.NORTH);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,240,180);
setResizable(false);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() instanceof Nbtn)
{
Nbtn b=(Nbtn)e.getSource();
if(link.size()==0)
{
int num=b.getNum();
link.add(""+num);
resultShow.setText(""+num);
sfcequ=false;
}
else if(link.size()==1sfcequ==false)
{
int num=b.getNum();
String Number=(String)link.getFirst();
String s=Number.concat(""+num);
link.set(0,s);
resultShow.setText(s);
}
else if(link.size()==1sfcequ==true)
{
int num=b.getNum();
link.removeFirst();
link.add(""+num);
sfcequ=false;
resultShow.setText(""+num);
}
else if(link.size()==2)
{
int num=b.getNum();
link.add(""+num);
resultShow.setText(""+num);
}
else if(link.size()==3)
{
int num=b.getNum();
String Number=(String)link.getLast();
String s=Number.concat(""+num);
link.set(2,s);
resultShow.setText(s);
}
}
else if(e.getSource() instanceof Obtn)
{
Obtn b=(Obtn)e.getSource();
if(link.size()==1)
{
String sign=b.getOper();
link.add(sign);
}
else if(link.size()==2)
{
String sign=b.getOper();
link.set(1,sign);
}
else if(link.size()==3)
{
String sign=b.getOper();
String num1=(String)link.getFirst();
String num2=(String)link.getLast();
String Oper=(String)link.get(1);
try
{
double n1=Double.parseDouble(num1);
double n2=Double.parseDouble(num2);
double n=0;
if(Oper.equals("+"))
{
n=n1+n2;
}
else if(Oper.equals("-"))
{
n=n1-n2;
}
else if(Oper.equals("*"))
{
n=n1*n2;
}
else if(Oper.equals("/"))
{
n=n1/n2;
}
link.clear();
link.add(""+n);
link.add(sign);
resultShow.setText(""+n);
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==equbtn)
{
sfcequ=true;
if(link.size()==1||link.size()==2)
{
String num=(String)link.getFirst();
resultShow.setText(""+num);
}
else if(link.size()==3)
{
String num1=(String)link.getFirst();
String num2=(String)link.getLast();
String sign=(String)link.get(1);
try
{
double n1=Double.parseDouble(num1);
double n2=Double.parseDouble(num2);
double n=0;
if(sign.equals("+"))
{
n=n1+n2;
}
else if(sign.equals("-"))
{
n=n1-n2;
}
else if(sign.equals("*"))
{
n=n1*n2;
}
else if(sign.equals("/"))
{
n=n1/n2;
}
resultShow.setText(""+n);
link.set(0,""+n);
link.removeLast();
link.removeLast();
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==dotbtn)
{
if(link.size()==0)
{
sfcequ=false;
}
else if(link.size()==1)
{
String dot=dotbtn.getLabel();
String num=(String)link.getFirst();
String s=null;
if(num.indexOf(dot)==-1)
{
s=num.concat(dot);
link.set(0,s);
}
else
{
s=num;
}
link.set(0,s);
resultShow.setText(s);
}
else if(link.size()==3)
{
String dot=dotbtn.getLabel();
String num=(String)link.getLast();
String s=null;
if(num.indexOf(dot)==-1)
{
s=num.concat(dot);
link.set(2,s);
}
else
{
s=num;
}
resultShow.setText(s);
}
}
else if(e.getSource()==Backspacebtn)
{
if(link.size()==1)
{
String num=(String)link.getFirst();
if(num.length()=1)
{
num=num.substring(0,num.length()-1);
link.set(0,num);
resultShow.setText(num);
}
else
{
link.removeLast();
resultShow.setText("0");
}
}
else if(link.size()==3)
{
String num=(String)link.getLast();
if(num.length()=1)
{
num=num.substring(0,num.length()-1);
link.set(0,num);
resultShow.setText(num);
}
else
{
link.removeLast();
resultShow.setText("0");
}
}
}
else if(e.getSource()==PlusOrMinusbtn)
{
if(link.size()==1)
{
String num1=(String)link.getFirst();
try
{
double d=Double.parseDouble(num1);
d=-1*d;
String str=String.valueOf(d);
link.set(0,str);
resultShow.setText(str);
}
catch(Exception ee)
{
}
}
else if(link.size()==3)
{
String num2=(String)link.getLast();
try
{
double d=Double.parseDouble(num2);
d=-1*d;
String str=String.valueOf(d);
link.set(2,str);
resultShow.setText(str);
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==recbtn)
{
if(link.size()==1||link.size()==2)
{
String num1=(String)link.getFirst();
try
{
double d=Double.parseDouble(num1);
d=1.0/d;
String str=String.valueOf(d);
link.set(0,str);
resultShow.setText(str);
}
catch(Exception ee)
{
}
}
else if(link.size()==3)
{
String num2=(String)link.getLast();
try
{
double d=Double.parseDouble(num2);
d=1.0/d;
String str=String.valueOf(d);
link.set(0,str);
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==clbtn)
{
sfcequ=false;
resultShow.setText("0");
link.clear();
}
}
public static void main(String agrs[])
{
new Cadev();
}
}
Nbtn.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Nbtn extends Button
{
int Num;
public Nbtn(int n)
{
super(""+n);
Num=n;
setForeground(Color.blue);
}
public int getNum()
{
return Num;
}
}
Obtn.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Obtn extends Button
{
String Oper;
public Obtn(String s)
{
super(s);
Oper=s;
setForeground(Color.red);
}
public String getOper()
{
return Oper;
}
}
急求!!!如何用java程序代码实现计算器界面
package jisuanqi_new;
import java.awt.*;
import java.awt.event.*;
public class JiSuanQi_new implements ActionListener
{
Panel p1;//声明面板p1
TextField t1;//声明文本行t1
String[] label = {"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};//声明标签数组label1存放按钮上的标签
Button[] b;//声明按钮数组存放16个按钮
private int i;//声明i以备后用
private String op1 = "0";//运算数备用
private String operator = "+";//运算符备用
private boolean append = false;//备用
public JiSuanQi_new()//构造方法
{
t1=new TextField();//初始化文本行t1
b = new Button[label.length];//初始化按钮数组b
p1=new Panel();//初始化面板p1
p1.setLayout(new GridLayout(4,4,4,4));//使面板选择网格布局管理器以备储存16个按钮(4行4列)
for(int i=0;ib.length;i++)//利用for循环把标签放在按钮上,使每个按钮添加事件监听器,在面板p1上添加上16个按钮
{
b[i] = new Button(label[i]);//把标签依次放在16个按钮上
b[i].addActionListener(this);//使每个按钮添加动作事件监听器
p1.add(b[i]); //分别将按钮添加到面板p1上
}
Frame f=new Frame("计算器1.0");//初始化窗口f,起名字计算器1.0
f.setLayout(new BorderLayout());//为窗口选择边界布局管理器
f.add(BorderLayout.NORTH,t1);//把文本行他添加到窗口的北部
f.add(BorderLayout.CENTER,p1);//把面吧p1添加到窗口的中间
f.addWindowListener(new WindowAdapter(){//给窗口f添加窗口事件监听器
public void windowClosing(WindowEvent eve){//运行窗口关闭方法
System.exit(0);//退出程序
}
});
f.setSize(250, 250);//设置窗口大小
f.setLocation(200,200);
f.setVisible(true);//显示窗口
}
public static void main(String args[])
{
new JiSuanQi_new(); //调用构造方法
}
public void actionPerformed(ActionEvent ae)
{//按钮被操作发生
String comm = ae.getActionCommand();//返回与此动作相关的命令字符串,即:使用者第一次点击的按钮是什么。
if("0123456789".indexOf(comm)!=-1)//如果相关命令字符串为0~9之间的数字则执行
{
if(append){
String temp = t1.getText();//新数字
t1.setText(temp+comm);
}else{ //因为此时append为false执行这个
t1.setText(comm); //将文本行t1设置为相关命令字符串(你按中的按钮代码)
append = true;//此时append=true若继续按按钮若继续按数字的话1.第一次的按话不会改变2.非第一次按得话会覆盖之前按得数字(即缺点:只能进行单个数字的计算)
}
}
else if(("+-*/".indexOf(comm)!=-1))//如果相关命令字符串为+-*/之间的数字则执行
{
//保存
//t1.setText(comm);
op1 = t1.getText();//把第一个数赋值给op1
operator = comm;//把命令字符串赋值给operator
append = false;//此时append为false即若继续按按钮若按数字的话将重复上面的动作,按符号的话将覆盖之前的符号
}
else if("=".equals(comm))//如果按的是=号,则按条件进行下面的运算
{
String op2 = t1.getText();//op2第二个数
double d1 = Double.parseDouble(op1);
double d2 = Double.parseDouble(op2);
if(operator.equals("+")){
d1 = d1 + d2 ;
}else if(operator.equals("-")){
d1 = d1 - d2;
}else if(operator.equals("*")){
d1 = d1 * d2;
}else {
d1 = d1 / d2;
}
t1.setText(d1+"");//显示计算结果
append = false;
}
else if(".".equals(comm))//若是.号继续按
{
String temp = t1.getText();
if(temp.indexOf(".")==-1){
t1.setText(temp+".");
append = true;
}
}
}
}
分享文章:java窗口计算程序代码 java窗口程序实例
当前URL:http://myzitong.com/article/dojdsoh.html