1. 程式人生 > 其它 >GUI程式設計(六)按鈕、列表及文字框

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();
    }
}