【发布时间】:2013-08-19 12:59:50
【问题描述】:
我不能使用分组复选框来更改 FlowLayout 的对齐方式。 我确定选中该复选框将进入“itemStateChanged”方法,但 .setAlignment() 或 .setLayout() 都不起作用! 有什么方法可以解决这个问题吗? 谢谢。
import java.awt.*;
import java.awt.event.*;
public class flowlayout
{
static Checkbox cb1 = new Checkbox("Left");
static Checkbox cb2 = new Checkbox("Center");
static Checkbox cb3 = new Checkbox("Right");
static Frame frm = new Frame("Frame Title");
public static void main(String args[]) {
frm.setLayout(new FlowLayout());
CheckboxGroup cg = new CheckboxGroup();
cb1.setCheckboxGroup(cg);
cb2.setCheckboxGroup(cg);
cb3.setCheckboxGroup(cg);
cb1.addItemListener(new ItmLis());
cb2.addItemListener(new ItmLis());
cb3.addItemListener(new ItmLis());
frm.setSize(400,200);
frm.add(cb1);
frm.add(cb2);
frm.add(cb3);
frm.setVisible(true);
}
static class ItmLis implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
if(cb1.getState()==true)
{
frm.setLayout(new FlowLayout(FlowLayout.LEFT));
}
else if(cb2.getState())
{
frm.setLayout(new FlowLayout(FlowLayout.CENTER));
}
else if(cb3.getState())
{
frm.setLayout(new FlowLayout(FlowLayout.RIGHT));
}
}
}
}
【问题讨论】:
标签: java awt flowlayout