import javax.swing.SwingUtilities;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.JButton;
public class GetSum extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JTextField first = null;
private JLabel plus = null;
private JTextField second = null;
private JButton getBt = null;
private JTextField sum = null;
private JButton clearBt = null;
private JTextField getFirst() {
if (first == null) {
first = new JTextField();
first.setText("0");
first.setBounds(new Rectangle(5, 19, 80, 22));
}
return first;
}
private JTextField getSecond() {
if (second == null) {
second = new JTextField();
second.setText("0");
second.setBounds(new Rectangle(106, 19, 80, 22));
}
return second;
}
private JButton getGetBt() {
if (getBt == null) {
getBt = new JButton("=");
getBt.setBounds(new Rectangle(185, 19, 44, 22));
getBt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
int firstNum = Integer.parseInt(first.getText().trim());
int secondNum = Integer.parseInt(second.getText().trim());
int sumNum = firstNum + secondNum;
sum.setText(""+sumNum);
}
});
}
return getBt;
}
private JTextField getSum() {
if (sum == null) {
sum = new JTextField();
sum.setEditable(false);
sum.setBounds(new Rectangle(229, 19, 102, 22));
}
return sum;
}
private JButton getClearBt() {
if (clearBt == null) {
clearBt = new JButton();
clearBt.setBounds(new Rectangle(138, 58, 64, 18));
clearBt.setText("清空");
clearBt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
first.setText("0");
second.setText("0");
sum.setText("");
}
});
}
return clearBt;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
GetSum thisClass = new GetSum();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
public GetSum() {
super();
initialize();
this.setResizable(false);
}
private void initialize() {
this.setBounds(100, 300, 354, 118);
this.setContentPane(getJContentPane());
this.setTitle("求和");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
plus = new JLabel();
plus.setBounds(new Rectangle(84, 21, 23, 18));
plus.setHorizontalAlignment(SwingConstants.CENTER);
plus.setText("+");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getFirst(), null);
jContentPane.add(plus, null);
jContentPane.add(getSecond(), null);
jContentPane.add(getGetBt(), null);
jContentPane.add(getSum(), null);
jContentPane.add(getClearBt(), null);
}
return jContentPane;
}
}
是不是要这样的啊?呵呵.
不过,要是输入的不是数字的话可不行啊,因为我没有判断输入的是不是数字,你可以自己添加方法。还有,我只是用了整型的数字,你可以改成double类型的。
无分...茫然...
去网上下载计算器程序源代码用java的写的
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
public class Coin extends JFrame{
//总框架
public Coin(){
setTitle("投币游戏");
CoinPanel panel = new CoinPanel();
add(panel);
pack();
}
public static void main(String[] args){
Coin coin = new Coin();
coin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
coin.setVisible(true);
}
}
//创建版面
class CoinPanel extends JPanel{
private JButton display1 = new JButton("正面数:");
private JButton display2 = new JButton("反面数:");
private JButton display3 = new JButton("差面数:");
private JButton display4 = new JButton("0");
private JButton display5 = new JButton("0");
private JButton display6 = new JButton("0");
private JPanel pan;
private JPanel panel1;//输入面版
private JPanel panel2;//显示面版
private boolean start;//开始标志
JTextField tf1 ;
JTextField tf2 ;
//static Integer a;
public CoinPanel(){
setLayout(new BorderLayout());
tf1 = new JTextField(10);
tf2 = new JTextField(10);
JButton bt1 = new JButton("开 始");
JButton bt2 = new JButton("开 始");
JPanel panel_tf1 = new JPanel( );
JPanel panel_tf2 = new JPanel( );
panel_tf1.add(tf1);
panel_tf2.add(tf2);
panel_tf1.setBorder(new TitledBorder("投币次数"));
panel_tf2.setBorder(new TitledBorder("正方面差数"));
JPanel pan = new JPanel(new FlowLayout(FlowLayout.CENTER));
//pan.add(panel_tf3);
//tf1.getText();
//创建事件侦听对象
bt1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event) {
//System.out.print(tf1.getText());
int input1 = Integer.parseInt(tf1.getText());
//String input1 = tf1.getText();
//String input2 = tf2.getText();
int Z=0,F=0;
double P = 0.5D;
Random random = new Random();
//int input1 =10;
for(int i=0;i
if(randomNum<=P){
Z++;
}else{
F++;
}
}
Integer a = new Integer(Z);
Integer b = new Integer(F);
Integer c = new Integer(Z-F);
display4.setText(a.toString());
display5.setText(b.toString());
display6.setText(c.toString());
// System.out.println(a.toString());
}
});
bt2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event) {
Random random = new Random();
int Z=0,F=0;
double P = 0.5D;
//int input2 = 3;
boolean B = true;
int input2 = Integer.parseInt(tf2.getText());
while(B){
double randomNum = random.nextDouble() ;
if(randomNum<=P){
Z++;
}else{
F++;
}
if(Z-F==input2){
B = false;
}
}
Integer a = new Integer(Z);
Integer b = new Integer(F);
Integer c = new Integer(Z-F);
display4.setText(a.toString());
display5.setText(b.toString());
display6.setText(c.toString());
//System.out.println(a.toString());
}
});
pan.add(panel_tf1);
pan.add(bt1);
pan.add(panel_tf2);
pan.add(bt2);
add(pan,BorderLayout.NORTH);
//添加数字及符号按钮的面板面板
panel1 = new JPanel();
panel1.setLayout(new GridLayout(3, 2));//设置面板布局为4行4列
//添加数字及符号按钮
display1.setEnabled(false);
panel1.add(display1);
display4.setEnabled(false);
panel1.add(display4);
display2.setEnabled(false);
panel1.add(display2);
display5.setEnabled(false);
panel1.add(display5);
display3.setEnabled(false);
panel1.add(display3);
display6.setEnabled(false);
panel1.add(display6);
add(panel1, BorderLayout.SOUTH);
}
}
我以前写的一个小投币,游戏,你稍微改下就可以了,有输入框,事件自己写吧!
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class GetSum extends JFrame{
JPanel pane1=new JPanel();
JPanel pane2=new JPanel();
JPanel pane3=new JPanel();
JButton button=new JButton("=");
JTextField num1=new JTextField(10);
JTextField num2=new JTextField(10);
JTextField sum=new JTextField(10);
private GetSum(){
pane1.setLayout(new GridLayout(1,2,30,30));
pane1.add(num1);
pane1.add(num2);
pane1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"加数输入区"));
add(pane1,BorderLayout.NORTH);
pane2.add(button);
add(pane2,BorderLayout.CENTER);
pane3.add(sum);
pane3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"结果显示区"));
add(pane3,BorderLayout.SOUTH);
setSize(400,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
double a=Integer.parseInt(num1.getText());
double b=Integer.parseInt(num2.getText());
Double c=a+b;
sum.setText(c.toString());
}
});
}
public static void main(String[] args) {
new GetSum();
}
}
我写的比较简短些吧,(*^__^*) ……
不过我也没判断输入的是不是数字。不过我用的是double型哟!
//以前我写过..后面删除了..呵呵..现在重新给你写个.你看看吧
//给你加了判断.这样就不会出错了..
import java.awt.Container;
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 {
JTextField jt1, jt2, jt3, jt4;
public Test()
{
Container c=getContentPane();
c.setLayout(new FlowLayout());
JLabel jl1=new JLabel("参数数值");
jt1=new JTextField(10);
c.add(jl1);
c.add(jt1);
JLabel jl2=new JLabel("参数数值");
jt2=new JTextField(10);
c.add(jl2);
c.add(jt2);
JLabel jl3=new JLabel("= - * /");
jt3=new JTextField(10);
c.add(jl3);
c.add(jt3);
final JLabel jl4=new JLabel("结果");
jt4=new JTextField(10);
jt4.setEditable(false);
c.add(jl4);
c.add(jt4);
JButton jb=new JButton("计算");
c.add(jb);
setSize(190, 180);
setVisible(true);
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
try{
int a=Integer.parseInt(jt1.getText());
int b=Integer.parseInt(jt2.getText());
if(jt3.getText().equals("+"))
{
jt4.setText((a+b)+"");
}else if(jt3.getText().equals("-"))
{
jt4.setText((a-b)+"");
} else if(jt3.getText().equals("*"))
{
jt4.setText((a*b)+"");
}else if(jt3.getText().equals("/"))
{
jt4.setText((a/b)+"");
} else
JOptionPane.showMessageDialog(null, "检查你输入的是否是 = - * / 中一个");
}
catch (Exception e) {
JOptionPane.showMessageDialog(null,"请输入正确的参数");
}
}
});
}
public static void main(String[] args) {
Test s = new Test();
s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}