Java课程设计怎么写??
追问:程序少的 最好简单的 三四十行就好了
追问:程序少的 最好简单的 三四十行就好了
答案:import java.awt.*;
import java.awt.event.*;public class Counter extends WindowAdapter
{
Panel p1 = new Panel();//新建一个p1容器这种容器就像个小容器可以加在类似frame的大容器上
Panel p2 = new Panel();//同上
Panel p3 = new Panel();//同上
TextField txt; //显示窗口
private Button[] b = new Button[17];//新建一个数组叫button用来存储按键名字
private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2","3", "*", "清空", "0", "=", "/", "关闭" };//每个按键名字
static double a;
static String s, str;//定义变量 创建对像
public static void main(String args[])
{
(new Counter()).frame();//new出对象调用里面的frame
}
public void frame()
{
Frame fm = new Frame("简单计算器");//new出一个框加fm简单来说就是新建一个容易来装组件的
for (int i = 0; i <= 16; i++)//通过数组循环17次分别new出17个按钮
{b[i] = new Button(ss[i]);
}
for (int i = 0; i <= 15; i++)//通过循环16次把16个按钮加到容器里面去其中一个是黄的按钮16号后面添加
{
p2.add(b[i]);
} //创建按钮 并添加到P2
b[16].setBackground(Color.yellow);//把第16个按钮背景颜色改为黄色
txt = new TextField(15);//new出一个文本框长度为15
txt.setEditable(false);//把文本框设置为不可编辑因为我们是要通过按钮输入数字的不可以让用户上面打字
for (int i = 0; i <= 16; i++)
{
b[i].addActionListener(new buttonlistener());//添加监听器
}
b[16].addActionListener(new close());//添加关闭监听器
fm.addWindowListener(this);
fm.setBackground(Color.red);//把fram容器背景颜色改为红色你把组件去掉就可以看见红色
p1.setLayout(new BorderLayout());//设置布局管理器这样我们可以设置东南西北的布局
p1.add(txt, "North");//把p1这个容器加在北边
p2.setLayout(new GridLayout(4, 4));//把p2这个容器设置为网格布局4行4列
p3.setLayout(new BorderLayout()); //把p3这个容器设置为边框布局道理上面一样
p3.add(b[16]);//在p3容器加入那个黄色的按钮
fm.add(p1, "North");
fm.add(p2, "Center");
fm.add(p3, "South");//依次在frame容器里面加入p1 p2 p3按照北 中南,为什么可以这么加呢因为frame默认的布局管理器就是borderLayout
fm.pack();//让frame自动调节合适的大小这样我们就不用自己去设置
fm.setVisible(true);//都是些窗中设置 添加相关组件和监听器
}
public void windowClosing(WindowEvent e)
{
System.exit(0);//退出监听器
}
class buttonlistener implements ActionListener {//编写监听器事件 通过按键得出给果
public void actionPerformed(ActionEvent e) {
Button btn = (Button) e.getSource();//通过得到数据源然后转成按钮类再放到btn中
if (btn.getLabel() == "=")//如果用户点击按钮是等于号
{
jisuan();//调用计算方法
str = String.valueOf(a);//double类型的a转化成String类型
txt.setText(str);//然后放到文本框中
s = "";//然后把s里面的符号清空掉以便下次计算
} else if (btn.getLabel() == "+")//下面都和第一个一样字太多我就不打了道理一样的
{
jisuan();
txt.setText("");
s = "+";
} else if (btn.getLabel() == "-")
{
jisuan();
txt.setText("");
s = "-";
} else if (btn.getLabel() == "/")
{
jisuan();
txt.setText("");
s = "/";
} else if (btn.getLabel() == "*")
{
jisuan();
txt.setText("");
s = "*";
} else
{
txt.setText(txt.getText() + btn.getLabel());//清空按钮清空Text里面的东西
if (btn.getLabel() == "清空")
txt.setText("");
}
}
public void jisuan()
{//编写具体计算方法
if (s == "+")
a += Double.parseDouble(txt.getText());//如果加号把文本框里面的数字转成double类型
else if (s == "-")
a -= Double.parseDouble(txt.getText());//如果减号把文本框里面的数字转成double类型
else if (s == "*")
a *= Double.parseDouble(txt.getT
上一个:在java在如何解析XML文件
下一个:编写Java的开发工具叫什么?