我想长期做下去按钮像Windows计算器的 '=' & '0' 按钮:Windows计算器按钮
。
请任何人帮助我。
另外我需要修改这个相同的代码,是否有办法从GRIDLAYOUT做到这一点?
import java.awt.*;
class Cal{
Cal(){
Frame f=new Frame();
f.setVisible(true);
f.setSize(350,500);
f.setTitle("Nano Cal");
Panel p1=new Panel();
p1.setBackground(Color.lightGray);
Panel p2=new Panel();
p2.setBackground(Color.gray);
BorderLayout br=new BorderLayout();
f.add(p1,br.NORTH);
f.add(p2,br.CENTER);
TextField t1=new TextField(57);
p1.add(t1);
Button b1=new Button("MC");
Button b2=new Button("MR");
Button b3=new Button("MS");
Button b4=new Button("M+");
Button b5=new Button("M-");
Button b6=new Button("<-");
Button b7=new Button("CE");
Button b8=new Button("C");
Button b9=new Button("±");
Button b10=new Button("√");
etc.
p2.add(b1);
p2.add(b2);
p2.add(b3);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.add(b7);
p2.add(b8);
p2.add(b9);
p2.add(b10);
GridLayout gr=new GridLayout(6,5,5,5);
p2.setLayout(gr);
MenuBar mb=new MenuBar();
f.setMenuBar(mb);
Menu m1=new Menu("View");
Menu m2=new Menu("Edit");
Menu m3=new Menu("Help");
mb.add(m1);
mb.add(m2);
mb.add(m3);
MenuItem mview=new MenuItem("Copy");
MenuItem mview2=new MenuItem("Paste");
m1.add(mview);
m1.add(mview2);
}
}
class testCal{
public static void main(String sr[]){
Cal c = new Cal();
}
}
您可以设计自己的按钮。您可以使用setIcon()在按钮上使用图像,这将帮助您设计具有丰富图形外观和感觉的计算器。请参阅http://stackoverflow.com/questions/21270656/如何设置java中的按钮背景图 – nobalG
了解如何使用[GridBagLayout](http://docs.oracle.com/javase/tutorial/uiswing/layout/) gridbag.html)。你为什么使用AWT而不是[Swing](http://docs.oracle.com/javase/tutorial/uiswing/)? –
也,窗口按钮的字体大小看起来大约两倍。 –