设计一个计算器的java图形界面(用AWT)

windows附件所带的计算器的图形化界面一样~只要图形界面就好·~!不需要功能(各位大狭~不需要用SWING组件来写,要用AWT~!)谢~!在强调下各位大狭~只要图形界... windows附件所带的计算器的图形化界面 一样~
只要图形界面就好·~!不需要功能
(各位大狭~不需要用SWING组件来写,要用AWT~!)
谢~!在强调下各位大狭~只要图形界面
展开
 我来答
百度网友e6d61c910
2008-08-06 · 超过17用户采纳过TA的回答
知道答主
回答量:29
采纳率:88%
帮助的人:23.2万
展开全部
你肯定是个初学者。
awt是个重量级组件,现在一般都是awt和swing(轻量级组件)结合在一起用。有些东西用awt来做需要写很多东西,其实swing是继承awt的。用swing可能就只需要一句就够了。下面是我用awt做的界面,不是很好。关闭窗体的代码没有写,因为它需要继承WindowListener接口,那就只有在-任务管理器-里关了
import java.awt.*;
public class Conputer extends Frame {
MenuBar a = new MenuBar();// 菜单条
Menu a1 = new Menu("编辑(E)");// 菜单1
Menu a2 = new Menu("查看(V)");// 菜单2
Menu a3 = new Menu("帮助(H)");// 菜单3
MenuItem a11 = new MenuItem("复制");// 菜单1的菜单项
MenuItem a12 = new MenuItem("粘贴");// 菜单1的菜单项
MenuItem a21 = new MenuItem("标准型");// 菜单2的菜单项
MenuItem a22 = new MenuItem("科学型");// 菜单2的菜单项
MenuItem a31 = new MenuItem("帮助主题");// 菜单3的菜单项

TextField jtf = new TextField(30);// 文本框
Button[] jb = new Button[27];
String[] arr = { "Backspace", "CE", "C", "MC", "7", "8", "9", "/", "sqrt",
"MR", "4", "5", "6", "*", "%", "MS", "1", "2", "3", "-", "1/x",
"M+", "0", "+/-", ".", "+", "=" };

Panel jp = new Panel();// 主面板
Panel m = new Panel();// 次面板
Panel m1 = new Panel();// 次次面板
Panel m2 = new Panel();// 次次面板
Panel m3 = new Panel();// 次次面板
Panel m4 = new Panel();// 次次面板
Panel m5 = new Panel();// 次次面板
Panel m6 = new Panel();// 次次面板

GridLayout glo = new GridLayout(6, 1, 3, 3);// 主网格布局
GridLayout glo1 = new GridLayout(1, 3, 3, 3);// 次网格布局
GridLayout glo2 = new GridLayout(1, 6, 3, 3);// 次网格布局

Conputer(String s) {
super(s);

a1.add(a11);
a1.add(a12);

a2.add(a21);
a2.add(a22);

a3.add(a31);
a.add(a1);
a.add(a2);
a.add(a3);
this.setMenuBar(a);// 菜单条完成

for (int i = 0; i < 27; i++) {
jb[i] = new Button(arr[i]);
}

jp.setLayout(glo);
jp.add(m1);
m1.add(jtf);

jp.add(m2);
m2.setLayout(glo1);
m2.add(jb[0]);
m2.add(jb[1]);
m2.add(jb[2]);

jp.add(m3);
m3.setLayout(glo2);
m3.add(jb[3]);
m3.add(jb[4]);
m3.add(jb[5]);
m3.add(jb[6]);
m3.add(jb[7]);
m3.add(jb[8]);

jp.add(m4);
m4.setLayout(glo2);
m4.add(jb[9]);
m4.add(jb[10]);
m4.add(jb[11]);
m4.add(jb[12]);
m4.add(jb[13]);
m4.add(jb[14]);

jp.add(m5);
m5.setLayout(glo2);
m5.add(jb[15]);
m5.add(jb[16]);
m5.add(jb[17]);
m5.add(jb[18]);
m5.add(jb[19]);
m5.add(jb[20]);

jp.add(m6);
m6.setLayout(glo2);
m6.add(jb[21]);
m6.add(jb[22]);
m6.add(jb[23]);
m6.add(jb[24]);
m6.add(jb[25]);
m6.add(jb[26]);

m.add(jp);

this.add(m);

this.setResizable(false);// 不能用鼠标拉伸窗体
this.setBackground(Color.CYAN);//设置背景颜色
this.setSize(260, 275);//设置窗体大小
this.setVisible(true);//设置窗体可见(其实就是this.show())

}
public static void main(String[] args) {
new Conputer("计算器");

}
}

下面是用awt和swing做的,很好看的。如果要此程序加减乘除的功能的话,可以实现 +…+ 和 += 哦。可以给我发邮件 zhangxu_wang@sina.com

import java.awt.*;
import javax.swing.*;
public class Conputer extends JFrame {
protected Container con = getContentPane();// 指向内容面板
protected JMenuBar a = new JMenuBar();// 菜单条
protected JMenu a1 = new JMenu("编辑(E)");// 菜单1
protected JMenu a2 = new JMenu("查看(V)");// 菜单2
protected JMenu a3 = new JMenu("帮助(H)");// 菜单3
protected JMenuItem a11 = new JMenuItem("复制(C)", 'C');// 菜单1的菜单项
protected JMenuItem a12 = new JMenuItem("粘贴(P)", 'P');// 菜单1的菜单项
protected JMenuItem a21 = new JMenuItem("标准型(T)", 'T');// 菜单2的菜单项
protected JMenuItem a22 = new JMenuItem("科学型(S)", 'S');// 菜单2的菜单项
protected JMenuItem a31 = new JMenuItem("帮助主题(H)", 'H');// 菜单3的菜单项

protected JTextField jtf = new JTextField(30);// 文本框
protected JButton[] jb = new JButton[27];
protected String[] arr = { "Backspace", "CE", "C", "MC", "7", "8", "9", "/", "sqrt",
"MR", "4", "5", "6", "*", "%", "MS", "1", "2", "3", "-", "1/x",
"M+", "0", "+/-", ".", "+", "=" };

protected JPanel jp = new JPanel();// 主面板
protected JPanel m = new JPanel();// 次面板
protected JPanel m1 = new JPanel();// 次次面板
protected JPanel m2 = new JPanel();// 次次面板
protected JPanel m3 = new JPanel();// 次次面板
protected JPanel m4 = new JPanel();// 次次面板
protected JPanel m5 = new JPanel();// 次次面板
protected JPanel m6 = new JPanel();// 次次面板

protected GridLayout glo = new GridLayout(6, 1, 3, 3);// 主网格布局
protected GridLayout glo1 = new GridLayout(1, 3, 3, 3);// 次网格布局
protected GridLayout glo2 = new GridLayout(1, 6, 3, 3);// 次网格布局

protected Conputer(String s) {
super(s);
a1.setMnemonic('E');
a1.add(a11);
a1.add(a12);
a2.setMnemonic('V');
a2.add(a21);
a2.add(a22);
a3.setMnemonic('H');
a3.add(a31);
a.add(a1);
a.add(a2);
a.add(a3);
this.setJMenuBar(a);// 菜单条完成

for (int i = 0; i < 27; i++) {
jb[i] = new JButton(arr[i]);
}

jp.setLayout(glo);
jp.add(m1);
m1.add(jtf);
jtf.setEditable(false); jtf.setText("0."); jtf.setForeground(Color.BLUE); jtf.setBackground(Color.WHITE);
jtf.setHorizontalAlignment(JTextField.RIGHT);//文本显示在右边

jp.add(m2);
m2.setLayout(glo1);
m2.add(jb[0]);
m2.add(jb[1]);
m2.add(jb[2]);

jp.add(m3);
m3.setLayout(glo2);
m3.add(jb[3]);
m3.add(jb[4]);
m3.add(jb[5]);
m3.add(jb[6]);
m3.add(jb[7]);
m3.add(jb[8]);

jp.add(m4);
m4.setLayout(glo2);
m4.add(jb[9]);
m4.add(jb[10]);
m4.add(jb[11]);
m4.add(jb[12]);
m4.add(jb[13]);
m4.add(jb[14]);

jp.add(m5);
m5.setLayout(glo2);
m5.add(jb[15]);
m5.add(jb[16]);
m5.add(jb[17]);
m5.add(jb[18]);
m5.add(jb[19]);
m5.add(jb[20]);

jp.add(m6);
m6.setLayout(glo2);
m6.add(jb[21]);
m6.add(jb[22]);
m6.add(jb[23]);
m6.add(jb[24]);
m6.add(jb[25]);
m6.add(jb[26]);

m.add(jp);
con.add(m);

this.setResizable(false);// 不能用鼠标拉伸窗体
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//可以关闭窗体
this.setSize(380, 275);
this.setVisible(true);

}

protected Conputer() {
this("计算器");
}

public static void main(String[] args) {
new Conputer("计算器");
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式