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

    image

  • 复选按钮

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

    image

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

    image

  • 列表框

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

image

  • 应用场景
    • 选择地区,或者一些单个选项。
    • 列表,展示信息,一般是动态扩容。

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

    image

  • 密码框

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

image

  • 文本域
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();
    }
}

posted @ 2021-11-24 15:22  轻狂书生han  阅读(127)  评论(0)    收藏  举报