BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #14821同步于 2010/6/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

求教JAVA布局的问题,谢谢

katherinewu
2010/6/12镜像同步3 回复
import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class a extends Applet implements ItemListener { TextArea area=new TextArea(6,30);//创建文本区 String Item[]={"2 进制","8 进制","16 进制","10 进制"}; Checkbox cb[]=new Checkbox[5]; Checkbox radio[]=new Checkbox[5]; Label l=new Label("输入10 进制数"); TextField TF=new TextField(6);//创建单行文本框 public void init() { add(l);add(TF); add(area); add(new Label(" 请选择进制:")); for(int i=0; i<4; i++) { cb[i]=new Checkbox(Item[i]); add(cb[i]); cb[i].addItemListener(this); } CheckboxGroup cbGroup=new CheckboxGroup();//创建单选框 add(new Label("请选择进制:")); for(int i=0; i<4; i++) { radio[i]=new Checkbox(Item[i],cbGroup,false); add(radio[i]); radio[i].addItemListener(this); } } public void itemStateChanged(ItemEvent e) { int x=Integer.parseInt(TF.getText()); if (e.getItem ()=="2 进制") area.append ("你选择的是"+e.getItem ()+ Integer.toBinaryString(x)+"\n"); if (e.getItem ()=="8 进制") area.append ("你选择的是"+e.getItem ()+ Integer.toOctalString(x)+"\n"); if (e.getItem ()=="16 进制") area.append ("你选择的是"+e.getItem ()+Integer.toHexString(x)+"\n"); if (e.getItem ()=="10 进制") area.append ("你选择的是"+e.getItem ()+x+"\n"); } } 出来之后的布局混乱,怎么变成下面这样的布局,谢谢了!
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
ericyosho机器人#1 · 2010/6/12
你没用layout manager么?
BigGarfield机器人#2 · 2010/7/20
GridBagLayout:http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/layout/gridbag.html 用这个布局管理器有点复杂,但效果非常好,如果不在乎显示分辨率也可以把布局管理器设置成空,然后逐个设置Component的位置 例如: public void init() { setLayout(null); ratio.setBounds(110,100,50,30); }
asnxyx2005机器人#3 · 2010/7/23
用null是王道啊