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

news2024/11/22 11:12:41

GUI编程

03 Swing

3.6 列表

  1. 下拉框
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

  1. 列表框
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();
    }
}

运行结果:

图2

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

列表的具体应用场景:

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

3.7 文本框

  1. 文本框
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();
    }
}

运行结果:

图3

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

  1. 密码框
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();
    }
}

运行结果:

图4

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

运行结果:

图5


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1223961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter 3.16 中带来的更新

Flutter 3.16 中带来的更新 目 录 1. 概述2. 框架更新2.1 Material 3 成为新默认2.2 支持 Material 3 动画2.3 TextScaler2.4 SelectionArea 更新2.5 MatrixTransition 动画2.6 滚动更新2.7 在编辑菜单中添加附加选项2.8 PaintPattern 添加到 flutter_test 3. 引擎更新&#xf…

STM32 HAL库函数HAL_SPI_Receive_IT和HAL_SPI_Receive的区别

背景 前段时间开发一个按键板驱动&#xff0c;该板用的STM32F103系列单片机&#xff0c;前任工程师用STM32CubeMX生成的工程&#xff0c;里面全是HAL库调用&#xff0c;我接手后&#xff0c;学习了下HAL库的用法&#xff0c;踩坑不少&#xff0c;特别是带IT后缀的函数&#xf…

S7-1200PLC 作为MODBUSTCP服务器通信(多客户端访问)

S7-1200PLC作为MODBUSTCP服务器端通信编程应用&#xff0c;详细内容请查看下面文章链接&#xff1a; ModbusTcp通信(S7-1200PLC作为服务器端)-CSDN博客文章浏览阅读239次。S7-200Smart plc作为ModbusTcp服务器端的通信S7-200SMART PLC ModbusTCP通信(ModbusTcp服务器)_s7-200 …

基于MS16F3211芯片的触摸控制灯的状态变化和亮度控制(11.17,PWM控制与状态切换)

1.今天做了什么 2.过程思路 看了两天文档才慢慢看懂&#xff0c;有点满了 现在接着前一天的思路&#xff0c;可以通过代码来控制pwm的占空比。我这里采用的是TP0定时器 初步控制pwm的占空比 void LED_PWM_OPEN(void) {//占空比 PWM1-Y-PB2PWM1DH 0X0F;PWM1DL 0X00; //占…

python3:turtle绘图 .2023-11-18

绘制一个菱形:四边相等且都为200像素;四个内角两边各为60度,上下各为120度 import turtle #导入turtle #画笔默认绘制方向为水平向右 turtle.right(-30) #画笔绘制方向向左(逆时针)旋转30度. turtle.fd(200) #画笔沿绘制方向绘制200像素长度 turtle.right(60) #画笔绘制方向在…

OSS服务和MinIO存储做一个区分解析

日落金山&#xff0c;明天我们继续… 什么是OSS服务和MinIO存储 OSS&#xff08;Object Storage Service&#xff09;和MinIO都是对象存储服务&#xff0c;但它们有一些区别。以下是对它们的简要分析&#xff1a; 1. 部署和管理&#xff1a; OSS&#xff1a; 由阿里云提供&a…

HDMI之EDID析义篇

DisplayID Type X Video Timing Data Block 实例 F0 2A 10 93 FF 0E 6F 08 8F 10 93 7F 07 37 04 8F 10该数据来源于SHARP AQUOS-TVE23A 4K144Hz电视机的第3个EDID块(基于HF-EEODB)。 定义 解释 VTDB 1: 3840x2160 144.000009 Hz 16:9 333.216 kHz 1343.527000 MHz (RBv3,h…

UE 程序化网格 计算横截面

首先在构造函数内加上程序化网格&#xff0c;然后复制网格体到程序化网格组件上&#xff0c;将Static Mesh&#xff08;类型StaticMeshActor&#xff09;的静态网格体组件给到程序化网格体上 然后把StaticMesh&#xff08;类型为StaticMeshActor&#xff09;Instance暴漏出去 …

python基础练习题库实验1

题目1 使用以下变量 product_code“377B” product_name“牛肉汤” product_size“250mL” product_price2.15 使用字符串加法编写一个print语句&#xff0c;以便生成以下精确输出&#xff1a; 377B&#xff1a;牛肉汤&#xff0c;250mL 代码 product_code "377B"…

深入了解Java 8 新特性:lambda表达式进阶

阅读建议 嗨&#xff0c;伙计&#xff01;刷到这篇文章咱们就是有缘人&#xff0c;在阅读这篇文章前我有一些建议&#xff1a; 本篇文章大概7000多字&#xff0c;预计阅读时间长需要10分钟。本篇文章的实战性、理论性较强&#xff0c;是一篇质量分数较高的技术干货文章&#…

这个双11,阿里云经历了可能是历史级的大故障!

2023年11月12日17&#xff1a;44开始&#xff0c;阿里云发生严重故障&#xff0c;导致阿里巴巴大量产品无法连接&#xff0c;一时间&#xff0c;“阿里云盘崩了”、“淘宝又崩了”、“闲鱼崩了”、“钉钉崩了”等话题相继登上热搜。 此外&#xff0c;像纳思云充电桩、乐爽coole…

Git安装与常用命令

Git简介&#xff1a; Git是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或大或小的项目。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。Git与常用的版本控制工具CVS、Subversion等不同&#xff0c;它采用了分布式…

机器学习算法——集成学习

目录 1. Bagging 1. Bagging Bagging&#xff08;bootstrap aggregating&#xff1a;自举汇聚法&#xff09;也叫装袋法&#xff0c;其思想是通过将许多相互独立的学习器的结果进行结合&#xff0c;从而提高整体学习器的泛化能力&#xff0c;是一种并行集成学习方法。 工作流…

IO流-框架

一&#xff0c;框架概念 二&#xff0c;Commons-io框架 三&#xff0c;使用案例 package BigDecimal;import org.apache.commons.io.FileUtils;import java.io.File; import java.io.IOException;public class Main12 {public static void main(String[] args) throws IOExcept…

centos7安装mongodb

1、下载mongodb https://www.mongodb.com/try/download/community 2、解压 3、重命名 4、创建mongodb的data、logs目录 5、启动mongodb, bin/mongod --port27017 --dbpath/data/program/mongodb/data --logpath/data/program/mongodb/logs/mongodb.log --bind_ip0.0.0.0 --f…

VMware Workstation Pro 12 ubuntu 20.04 突然奔溃,重新打开后导致win11系统蓝屏问题

1、虚拟机在执行一个程序时候&#xff0c;突然导致系统win11蓝屏 2、重新打开提示磁盘打开异常&#xff0c;网络搜索发现要删除磁盘lock文件&#xff0c;删除后&#xff0c;重启过程中还是会报各种异常 后来把所有的临时文件都删除了&#xff0c;就可以了 临时文件&#xff1…

【Proteus仿真】【51单片机】防火防盗GSM智能家居设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用声光报警模块、LCD1602显示模块、DS18B20温度、烟雾传感器模块、按键模块、PCF8591 ADC模块、红外检测模块等。 主要功能&#xff1a; 系统运行后…

合伙人如何承担合伙公司债务

合伙企业有不同的组织方式&#xff0c;包括普通合伙企业、特殊的普通合伙企业、有限合伙企业这三种&#xff0c;合伙人对于合伙企业的债务承担方式有以下几种情形&#xff1a; 1.普通合伙人合伙企业债务的承担 普通合伙企业由普通合伙人组成&#xff0c;合伙人对合伙企业债务承…

kernel32.dll下载地址分享,Kernel32.DLL文件丢失的修复指南

作为计算机用户&#xff0c;我们可能都曾遭遇过这样一条令人烦恼的错误信息&#xff1a; "程序无法启动&#xff0c;因为您的计算机中缺少Kernel32.dll"。在这种情况下&#xff0c;往往会引发一系列疑问&#xff1a; Kernel32.dll是什么&#xff1f;为什么它对我的电…

Java学习之路 —— Java高级

文章目录 前言1. 单元测试2. 反射2.1 获取Class对象的三种方式2.2 获取类的构造器的方法2.3 获取类的成员变量2.4 获取类的成员方法2.5 反射的作用 3. 注解3.1 自定义注解3.2 注解的原理3.3 元注解3.4 注解的解析 4. 动态代理5. 总结 前言 终于走到新手村的末端了&#xff0c;…