目录
- 一 标签(图标放在标签上或图片放在标签上)
-
- 图标的单词 ICon
- 重点:不要混淆标签和按钮 标签和按钮的区别: Label是一些基础组件,它必须置于某个容器里,类似于窗花、剪纸,必须置于窗户的表面 自己的理解:标签(lable)直接是一个按钮可以点击 周围之间没有用方格框起来 可以直接点击使用 而按钮是定义完按钮 要给按钮定义命名 而且命名周围有方格框起来 也可以点击使用
- 练习一
- 将图标放在标签上(或者是放在按钮上)
- label1.setHorizontalAlignment(SwingConstants.CENTER); label1.setVerticalAlignment(SwingConstants.TOP);
- Label类提供两个设置其对齐方式的方法: #setHorizontalAlignment:设置水平对齐方式; 它的有效参数是: ¨ SwingConstants.LEFT:左对齐;(默认值,也就是不设置时则左对齐) ¨ SwingConstants.CENTER:居中对齐; ¨ SwingConstants.RIGHT:右对齐; #setVerticalAlignment:设置垂直对齐方式; 它的有效参数是: ¨ SwingConstants.TOP:向上对齐; ¨ SwingConstants.CENTER:居中对齐;(默认值,也就是不设置时居中对齐) ¨ SwingConstants.BOTTOM:向下对齐;
- 练习二
- 将图片放在标签上(也可以放在按钮上)
- 二 面板(含有右边的滚动框)
- 三 按钮(图标按钮 单选按钮 多选按钮)
-
- 练习一 图片按钮
- //找到图片的位置并 将一个图片变成一个图标 URL resource = JButtonDemo01.class.getResource("n.png"); Icon icon=new ImageIcon(resource);
- //将这个图标放在按钮上 JButton button = new JButton(); button.setIcon(icon); button.setToolTipText("图标按钮"); //按钮提示:上行代码的意思为:光标放在图标上会有提示信息(重点)
- 练习二 单选按钮
- //单选框 JRadioButton JRadioButton radioButton01 = new JRadioButton("JRadioButton01"); JRadioButton radioButton02 = new JRadioButton("JRadioButton02"); JRadioButton radioButton03 = new JRadioButton("JRadioButton03");
- //由于单选框只能选择一个 所以我们要将它们分组(一个组里面只能选择一个) //重点:建立单选框之后必须分组 如果不分组 那么就能全部选中 //(类似于把单选框分到一个组 组中只能选择一个) ButtonGroup group = new ButtonGroup(); group.add(radioButton01); group.add(radioButton02); group.add(radioButton03);
- 练习三 多选框按钮
- //多选框 JCheckBox checkBox01 = new JCheckBox("checkBox01"); JCheckBox checkBox02 = new JCheckBox("checkBox02");
- //多选框和单选框的区别: // 多选框 不需要分组 而单选框需要分组(重点) container.add(checkBox01,BorderLayout.NORTH); container.add(checkBox02,BorderLayout.SOUTH);
- 在这里插入图片描述 参考网站:https://www.layuiweb.com/demo/form.html
- 四 列表框(下拉框)
-
- 练习一 下拉框
- //创建一个表单 JComboBox status = new JComboBox();
- //在表单的下拉添加值 status.addItem(null); status.addItem("正在热映"); status.addItem("已上架"); status.addItem("即将上映");
- 练习二 列表框
- //先生成列表的内容(静态传入列表的内容) //String [] contents={"1","2","3"};
- //先生成列表的内容(动态传入列表的内容) Vector contents = new Vector();
- //创建列表 并将内容放入到内容中 JList list = new JList(contents); contents.add("张三"); contents.add("李四"); contents.add("王五");
- 五 文本框(密码框 文本域)
-
- 练习一 文本框
- 重点解释columns
- JTextField textField = new JTextField("hello"); JTextField textField1 = new JTextField("world", 20); //初始值设定为world 最多写二十个字符 //columns 这里的参数表示这个输入框的长度为10列。 //文本框的长度为10列,即当用户输入的字符超过10个时数据就会超出可视范围, // 但是文本框不会限制用户只能输入10个字符(重点解释columns)
- //要给文本框设定布局 否则文本框不会全部显示出来 container.add(textField,BorderLayout.NORTH); container.add(textField1,BorderLayout.SOUTH);
- 练习二 密码框
- 练习三 文本域
- //创建文本域 JTextArea textArea = new JTextArea(1, 1); //后面的参数为文本有二十行 五十列
- //文本域设定初始值 textArea.setText("二哥一直坚持"); //文本域可以设定行和列 一般配合面板使用
- 文本域和文本框的区别:(重点!) 文本框:针对单行输入,例如用户名或密码等等。(也适用于搜索) 文本域:针对多行输入,例如一些反馈的表单等等。