通过几行代码,给大家介绍一下非容器组件。
大家在这里也看到了我说的是创建一个单选框,但是却依旧可以选中两个,而且JRadioButton类也没有选错,这是为什么呢?
原因如下:
完整代码如下:
import javax.swing.*;
public class Demo{
public static void main(String[] args){
JFrame frame = new JFrame("窗口");
//创建一个面板
JPanel panel = new JPanel();
frame.add(panel);
//创建一个标签
JLabel label = new JLabel("姓名");
panel.add(label); //添加到面板上,如果添加到窗口上,会一一覆盖掉
//创建文本框输入框
JTextField textfield = new JTextField(9);
panel.add(textfield); //添加文本输入框到面板上
//创建一个单选框
JRadioButton radiobutton1 = new JRadioButton("男");
JRadioButton radiobutton2 = new JRadioButton("女");
panel.add(radiobutton1);
panel.add(radiobutton2);
ButtonGroup buttongroup = new ButtonGroup(); //如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个
buttongroup.add(radiobutton1); //这样之后就成为了真正的单选框了
buttongroup.add(radiobutton2);
//创建一个下拉框
Object[] arr = {"苹果","香蕉","大鸭梨","桃","李子"};
JComboBox combobox = new JComboBox(arr);
panel.add(combobox);
//创建一个复选框
JCheckBox checkbox1 = new JCheckBox("Java");
JCheckBox checkbox2 = new JCheckBox("C");
JCheckBox checkbox3 = new JCheckBox("C#");
JCheckBox checkbox4 = new JCheckBox("Python");
panel.add(checkbox1);
panel.add(checkbox2);
panel.add(checkbox3);
panel.add(checkbox4);
//创建多行文本框
JTextArea textarea = new JTextArea(5,20);
textarea.setLineWrap(true); //设置自动换行
panel.add(textarea);
frame.setBounds(300,300,400,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
关键代码截图:
运行结果为:
还有一个这样的问题,在很多场景,单选框以及复选框等,都会有初始已选项,该如何设置呢?
如果都设置为true呢?
哎呀,一激动忘了一点,大家看这样几行代码:
没错这就是传说中的密码框,那*号可不是大努自己打上去的哦。