当前位置: 代码迷 >> Java相关 >> [求助]java计算器
  详细解决方案

[求助]java计算器

热度:181   发布时间:2006-11-06 12:31:31.0
[求助]java计算器

这个问题我都不知道怎么描述.....
又不能贴图片...哎
大家试着理解吧.

我要写个计算器的界面,要求是完全仿照 windows的计算器的样式.(刚刚开始写,还没完成)
大家不妨先打开计算器,再来看我的问题.3q
问题1: MC 上面的那个东西是啥? 标签?按钮? 如何实现?
问题2: 我写的界面,按钮之间的空隙都是空白,觉得好丑.
而windows的按钮之间的空隙就好看多了(按钮好像是贴在上面一样).请问是怎么实现的?
问题3: 结果输出栏如何从右边显示?(我的都是从左边开始显示的)

谢谢大家先!

源代码如下:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class JLab1002 extends Applet{
//public static void main(String argv[])
//{
Frame f= new Frame ("计算器");

Panel text = new Panel();
Panel ce = new Panel(new FlowLayout(FlowLayout.RIGHT));
Panel mc = new Panel(new GridLayout(4,1,5,5));
Panel c = new Panel(new GridLayout(4,5,5,5));
Panel ce_mc_c = new Panel(new BorderLayout(20,5));
public void init()
{
TextField tf= new TextField("0",30);
Button b1 = new Button("1");
Button b2 = new Button("2");
Button b3 = new Button("3");
Button b4 = new Button("4");
Button b5 = new Button("5");
Button b6 = new Button("6");
Button b7 = new Button("7");
Button b8 = new Button("8");
Button b9 = new Button("9");
Button b0 = new Button("0");
Button b_add = new Button("+");
Button b_dec = new Button("-");
Button b_mul = new Button("*");
Button b_div = new Button("/");
Button b_sqrt = new Button("sqrt");
Button b_per = new Button("%");
Button b_down = new Button("1/x");
Button b_equal = new Button("=");
Button b_sign = new Button("+/-");
Button b_point = new Button(".");
Button backspace = new Button("Backspace");
Button CE = new Button("CE");
Button C = new Button("C");
Button MC = new Button("MC");
Button MR = new Button("MR");
Button MS = new Button("MS");
Button Mplus = new Button("M+");

b_add.setForeground(Color.RED);
b_dec.setForeground(Color.RED);
b_mul.setForeground(Color.RED);
b_div.setForeground(Color.RED);

mc.setForeground(Color.RED);
ce.setForeground(Color.RED);

//text.setHorizontalAlignment(TextField.RIGHT);
text.add(tf);

ce.add(backspace);
ce.add(CE);
ce.add(C);

mc.add(MC);
mc.add(MR);
mc.add(MS);
mc.add(Mplus);

c.add(b7);
c.add(b8);
c.add(b9);
c.add(b_div);
c.add(b_sqrt);
c.add(b4);
c.add(b5);
c.add(b6);
c.add(b_mul);
c.add(b_per);
c.add(b1);
c.add(b2);
c.add(b3);
c.add(b_dec);
c.add(b_down);
c.add(b0);
c.add(b_sign);
c.add(b_point);
c.add(b_add);
c.add(b_equal);

ce_mc_c.add(ce,BorderLayout.NORTH);
ce_mc_c.add(mc,BorderLayout.WEST);
ce_mc_c.add(c,BorderLayout.CENTER);


f.add(text,BorderLayout.NORTH);
f.add(ce_mc_c,BorderLayout.CENTER);

//f.pack();
f.setSize(270,250);
f.setVisible(true);
}
}
//}

计算器已完成,见新帖..




[此贴子已经被作者于2006-11-9 11:09:51编辑过]

搜索更多相关的解决方案: 计算器  java  

----------------解决方案--------------------------------------------------------
真是人才,这么多东西都在main方法里面实现
你这种编程风格是相当差的
建议先去学学基础的东西先

----------------解决方案--------------------------------------------------------
版主 别这样啊....
没看main 是被注释了的么?
说了还没完成撒.....

[此贴子已经被作者于2006-11-6 13:21:47编辑过]


----------------解决方案--------------------------------------------------------

呵呵,还是先学基础的吧


----------------解决方案--------------------------------------------------------

不知道你到底什么意思?!
我要是什么都会还会来这发帖???~!!!



----------------解决方案--------------------------------------------------------
但是这种题目叫别人怎么教你
帮你把代码写一遍?
还是怎么?

----------------解决方案--------------------------------------------------------

其实在论坛上交流也是弊端的,不太好沟通,毕竟打字比说话慢得多,而且文字之间可能还有歧义。。。

我一般也都是来这里问一些细节上的问题,要是一堆问题,还真的不好解决啊,呵呵


----------------解决方案--------------------------------------------------------
是呀,这样肯定不像说话那样富有人性化.
----------------解决方案--------------------------------------------------------

呵呵,我希望大家在这里能交注一下,而不是把一个题目往这里一丢,叫别人帮你去做的


----------------解决方案--------------------------------------------------------
看来版主误解我的意思了....难怪会是这种态度....
我把代码贴出来的目的不是让你来帮我做完....根据问题给个思路就ok了..

我的代码是可以运行的,编译运行后会产生一个计算器的界面,
代码贴出来的目的是希望通过我的界面,便于和windows计算器的样式进行对比..从而理解我的问题.
我的问题只是设计上的细节问题,这些东西书上都没有,所以会来请教论坛..相信论坛的意义也在于此.
假如版主觉得问题比较弱智,可以砍掉这个帖子,大不了我去问老师.也没啥.
----------------解决方案--------------------------------------------------------
  相关解决方案