【GUI】-- 09 JComboBox & JList、JTextField & JPasswordField & JTextArea

GUI编程

03 Swing

3.6 列表

  1. 下拉框
java 复制代码
package com.duo.lesson06;

import javax.swing.*;
import java.awt.*;

public class ComboBoxDemo01 extends JFrame {
    public ComboBoxDemo01() throws HeadlessException {
        Container contentPane = getContentPane();

        JComboBox<Object> objectJComboBox = new JComboBox<>();
        objectJComboBox.addItem(null);
        objectJComboBox.addItem("热映中");
        objectJComboBox.addItem("即将上映");
        objectJComboBox.addItem("已下架");

        objectJComboBox.setFont(new Font("宋体", Font.BOLD, 20));

        contentPane.add(objectJComboBox);

        setTitle("下拉列表测试窗口");
        setVisible(true);
        setSize(350, 100);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new ComboBoxDemo01();
    }
}

运行结果:

  1. 列表框
java 复制代码
package com.duo.lesson06;

import javax.swing.*;
import java.awt.*;
import java.util.Vector;

public class ComboBoxDemo02 extends JFrame {
    public ComboBoxDemo02() {
        Container contentPane = getContentPane();

        //先生成一个列表
        String[] contents = {"One", "Two", "Three"};
        //用于展示contents的列表框
        JList<Object> objectJList1 = new JList<>(contents);

        contentPane.add(objectJList1);

        setTitle("列表框测试窗口");
        setVisible(true);
        setSize(650, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new ComboBoxDemo02();
    }
}

运行结果:

如图,列表框JList用于展示列表中的参数量。

列表的具体应用场景:

  • 下拉列表:选择地区,或一些单个的选项
  • 列表框:展示信息(可以自动动态扩容)

3.7 文本框

  1. 文本框
java 复制代码
package com.duo.lesson06;

import javax.swing.*;
import java.awt.*;

public class TextDemo01 extends JFrame {
    public TextDemo01() {
        Container contentPane = getContentPane();
        contentPane.setLayout(null);  //设置为绝对布局

        JTextField jTextField = new JTextField("Hello", 20);
        jTextField.setBounds(20, 20, 100, 25);
        JTextField jTextField2 = new JTextField("world", 20);
        jTextField2.setBounds(20, 50, 100, 25);

        contentPane.add(jTextField);
        contentPane.add(jTextField2);

        setTitle("文本框测试窗口");
        setVisible(true);
        setSize(650, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new TextDemo01();
    }
}

运行结果:

如上,此窗口面板设为了绝对布局。

  1. 密码框
java 复制代码
package com.duo.lesson06;

import javax.swing.*;
import java.awt.*;

public class TextDemo02 extends JFrame {
    public TextDemo02() {
        Container contentPane = getContentPane();

        JPasswordField jPasswordField = new JPasswordField();  //密码框文本域默认输入为小黑圆点
        //jPasswordField.setEchoChar('*');  //同样可通过语句来设置输入文本后的显示样式为'*'
        contentPane.add(jPasswordField);

        setTitle("文本框测试窗口");
        setVisible(true);
        setSize(650, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new TextDemo02();
    }
}

运行结果:

  1. 文本域
java 复制代码
package com.duo.lesson06;

import javax.swing.*;
import java.awt.*;

public class TextDemo03 extends JFrame {

    public TextDemo03() {
        Container contentPane = getContentPane();
        contentPane.setLayout(null);

        JTextArea jTextArea = new JTextArea("This is Schrodinger's channel.");
        jTextArea.setFont(new Font("Times New Roman", Font.PLAIN, 22));
        Dimension preferredSize = jTextArea.getPreferredSize();  //获得文本域的首选大小
        jTextArea.setBounds((650 - preferredSize.width) / 2,
                (500 - preferredSize.height) / 2 - preferredSize.height / 2,
                preferredSize.width, preferredSize.height);

        contentPane.add(jTextArea);

        setTitle("文本域测试窗口");
        setVisible(true);
        setSize(650, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new TextDemo03();
    }
}

运行结果:


相关推荐
霍格沃兹测试开发学社测试人社区2 分钟前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
2402_857589363 分钟前
SpringBoot框架:作业管理技术新解
java·spring boot·后端
HBryce247 分钟前
缓存-基础概念
java·缓存
一只爱打拳的程序猿22 分钟前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring
幸运超级加倍~22 分钟前
软件设计师-上午题-16 算法(4-5分)
笔记·算法
杨荧23 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
minDuck25 分钟前
ruoyi-vue集成tianai-captcha验证码
java·前端·vue.js
王俊山IT42 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。44 分钟前
c++多线程
java·开发语言
daqinzl1 小时前
java获取机器ip、mac
java·mac·ip