GUI程式設計(六)按鈕、列表及文字框
阿新 • • 發佈:2021-11-24
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();
}
}