java 计算器图形界面 新手很难 麻烦大家啦

来源:百度知道 编辑:UC知道 时间:2024/06/30 17:00:52
import java.awt.*;
import java.awt.event.*;
class WindowText extends Frame //定义框体
{
WindowText(String s)
{
super(s);
setLayout(new BorderLayout());
setVisible(true);
Mybutton1 c=new Mybutton1();
add(c);
validate();
pack();
}
}

class Mybutton1 extends Panel //定义文本框,按钮
{
private double result;
private String lastCommand;
private boolean start;
TextField text1; //显示输入数字的文本框

private Panel panel;
private Button w;
Mybutton1()
{

setLayout(new BorderLayout());
result = 0;
lastCommand = "=";
start = true;
add(text1,BorderLayout.NORTH);

panel = new Panel();
panel.setLayout(new GridLayout(4, 4));
ActionListener command = new CommandAction();
for(int i=1;i<10;i++)
{
ad

你可以参考一下,逻辑比你那个清楚
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CalculatorJFrame extends JFrame implements ActionListener
{
private JButton btn_sqrt,btn_sign,btn_ce,btn_c,
btn_7,btn_8,btn_9,btn_div,
btn_4,btn_5,btn_6,btn_mul,
btn_1,btn_2,btn_3,btn_sub,
btn_0,btn_dot,btn_equal,btn_plus;
private JTextField text; //显示结果的文本框。
private Panel pn; //放置按钮的面板。
private double r; //r保存计算结果。
private int flag=1; //flag==1表示正在输入第一个数,flag==2表示正在输入第二个数。
private String s,s1,s2; //s保存操作符,s1和s2保存两个操作数。

//初始化窗口:
public CalculatorJFrame()
{
super("计算器");
this.setSize(251,220);
this.setLocation(