GUI编程(六)按钮、列表及文本框
3.5、按钮
图片按钮
package com.study.lesson05;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class JButtonDemo01 extends JFrame{
public JButtonDemo01() throws HeadlessException {
//京一个图片变为图标
Container container = this.getContentPane();
URL resource = JButtonDemo01.class.getResource("tx.jpg");
Icon icon = new ImageIcon(resource);
//把这个图标放在按钮上
JButton button = new JButton();
button.setIcon(icon);
button.setToolTipText("图片按钮");
//add
container.add(button);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setSize(500,300);
}
public static void main(String[] args) {
new JButtonDemo01();
}
}
-
单选按钮
package com.study.lesson05; import javax.swing.*; import java.awt.*; import java.net.URL; public class JButtonDemo02 extends JFrame { public JButtonDemo02() { //将一个图片变为图标 Container container = this.getContentPane(); //URL resource = JButtonDemo01.class.getResource("tx.jpg"); //Icon icon = new ImageIcon(resource); //单选框 JRadioButton radioButton1 = new JRadioButton("JRadioButton01"); JRadioButton radioButton2 = new JRadioButton("JRadioButton02"); JRadioButton radioButton3 = new JRadioButton("JRadioButton03"); //由于单选框只能选择一个,分组,一个组中只能选一个 ButtonGroup group = new ButtonGroup(); group.add(radioButton1); group.add(radioButton2); group.add(radioButton3); container.add(radioButton1,BorderLayout.CENTER); container.add(radioButton2,BorderLayout.NORTH); container.add(radioButton3,BorderLayout.SOUTH); this.setVisible(true); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); this.setSize(500,300); } public static void main(String[] args) { new JButtonDemo02(); } }
-
复选按钮
package com.study.lesson05; import javax.swing.*; import java.awt.*; import java.net.URL; public class JButtonDemo03 extends JFrame { public JButtonDemo03() { //将一个图片变为图标 Container container = this.getContentPane(); //URL resource = JButtonDemo01.class.getResource("tx.jpg"); //Icon icon = new ImageIcon(resource); //多选框 JCheckBox jCheckBox01 = new JCheckBox("JCheckBox01"); JCheckBox jCheckBox02 = new JCheckBox("JCheckBox02"); container.add(jCheckBox01,BorderLayout.NORTH); container.add(jCheckBox02,BorderLayout.SOUTH); this.setVisible(true); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); this.setSize(500,300); } public static void main(String[] args) { new JButtonDemo03(); } }
3.6、列表
-
下拉框
package com.study.lesson06; import javax.swing.*; import java.awt.*; public class TestComboboxDemo01 extends JFrame { public TestComboboxDemo01(){ Container container = this.getContentPane(); JComboBox status = new JComboBox(); status.addItem(null); status.addItem("正字热映"); status.addItem("已下架"); status.addItem("即将上映"); container.add(status); this.setVisible(true); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); this.setSize(500,350); } public static void main(String[] args) { new TestComboboxDemo01(); } }
-
列表框
package com.study.lesson06;
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
public class TestComboboxDemo02 extends JFrame {
public TestComboboxDemo02(){
Container container = this.getContentPane();
//生成列表内容
//String[] contents = {"1","2","3"};
Vector contents = new Vector();
//列表中需要放入内容
JList jList = new JList(contents);
contents.add("张三");
contents.add("李四");
contents.add("王五");
container.add(jList);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setSize(500,350);
}
public static void main(String[] args) {
new TestComboboxDemo02();
}
}

- 应用场景
- 选择地区,或者一些单个选项。
- 列表,展示信息,一般是动态扩容。
3.7、文本框
-
文本框
package com.study.lesson06; import javax.swing.*; import java.awt.*; public class TestComboboxDemo01 extends JFrame { public TestComboboxDemo01(){ Container container = this.getContentPane(); JComboBox status = new JComboBox(); status.addItem(null); status.addItem("正字热映"); status.addItem("已下架"); status.addItem("即将上映"); container.add(status); this.setVisible(true); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); this.setSize(500,350); } public static void main(String[] args) { new TestComboboxDemo01(); } }
-
密码框
package com.study.lesson06; import javax.swing.*; import java.awt.*; public class TestTextDemo02 extends JFrame { public TestTextDemo02(){ Container container = this.getContentPane(); //面板 JPasswordField passwordField = new JPasswordField();//**** passwordField.setEchoChar('*'); container.add(passwordField); this.setVisible(true); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); this.setSize(500,350); } public static void main(String[] args) { new TestTextDemo02(); } }

- 文本域
package com.study.lesson05;
import javax.swing.*;
import java.awt.*;
public class JScrollDemo extends JFrame {
public JScrollDemo() {
Container container = this.getContentPane();
//文本域
JTextArea textArea = new JTextArea(20, 50);
textArea.setText("欢迎学习");
//Scroll面板
JScrollPane scrollPane = new JScrollPane(textArea);
container.add(scrollPane);
this.setVisible(true);
this.setBounds(100,100,300,150);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JScrollDemo();
}
}

浙公网安备 33010602011771号