学了一学期的java,现在开始做GUI设计了,有一些小结:
1.在GUI中可以改变文本的样式,用JLabel lab=new JLabel("<html><body><h1> 欢迎 </h1> </body> </html>");
也可以用lab.setText("<html><body><h1> 欢迎\n <br> </h1> </body> </html>");设置标签的显示类容。
2.由于GUI中标签和按钮等换行对于\n和<br>不支持,所以在网上看到这个可以用来换行
con.add(Box.createHorizontalStrut(30000));//用来换行
3.JRadioButton的使用
(1).用在多个选项中,只允许选择一个选项是,则一组单选按钮中的各个按钮相互之间的选择是互斥的。所以需要把他们放到一个ButtonGroup组中进行统一管理。
mRadio=new JRadioButton("男",true);//初始化时”男“为选中
fRadio=new JRadioButton("女",false);
ButtonGroup sexBtnGroup=new ButtonGroup();
sexBtnGroup.add(mRadio);
sexBtnGroup.add(fRadio);
(2).当改变他们的选择之后要重置时,用mRadio.setSelected(true);
(3).获取选中ButtonGroup中的一个JRadioButton选项的文本有三种方法;
a.方法一是依次将这个ButtonGroup中的所有按钮遍历一遍,用isSelected()方法判断是否被选中。如
if(mRadio.isSelected()==true){ System.out.println("男"); }
if(fRadio.isSelected()==true){ System.out.println("女"); }
b.方法二用ButtonGroup的getSelection()方法获取被选中的按钮
if(sexBtnGroup.getSelection() == mRadio.getModel()){
msg1="男";
}
if(sexBtnGroup.getSelection() == fRadio.getModel()){
msg1="女";
}
c.方法三是用ActionEvent事件实时获取被选中的按钮
首先在要申请监听器,和普通按钮公用同一个监听器
mRaio.addActionListener(this);
fRaio.addActionListener(this);
在public void actionPerformed(ActionEvent e){
String msg1;
if(e.getSource() instanceof JRadioButton){
msg1=e.getActionCommand();
}
instanceof它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。
4.JComboBox的使用(相对与.net中的dropdownlist)
(1)、当要重置时用 Jcombobox1.setSelectedIndex(0);(Jcombobox1为控件名)
(2)、获取用户选中的选项
a.首先所写的类要继承ItemListener接口;然后要实现接口中的方法itemStateChanged(ItemEvent e)
Jcombobox1=new JComboBox(msg1); //新建一个JComboBox对象
Jcombobox1.addItemListener(this); //添加监听器
实现接口中的方法,并且获取用户选择的选项
public void itemStateChanged(ItemEvent e){ //监听用户的选择
if(e.getStateChange()==ItemEvent.SELECTED){ //需要判断条目是被选中还是撤销选中
class1=(String)Jcombobox1.getSelectedItem() ; //将用户选择的条目转换为字符串
}
}