Swing程序设计(10)列表框,文本框,文本域,密码框

文章目录

  • 前言
  • 一、列表框
  • 二、文本框(域)
    • 1.文本框
    • 2.文本域
  • 三、密码框
  • 总结

前言

      该篇文章简单介绍了Java中Swing组件里的列表框、文本框、密码框。


一、列表框

        列表框(JList)相比下拉框,自身只是在窗体上占据固定的大小。如果需要完全显示列表框信息,可以将列表框添加于滚动面板中。

        JList常用的构造方法如下:

        第一种方法:直接实例化,之后用setListData()方法添加对象

public void JList();
//初始化列表框对象后,使用 setListData()方法添加对象

         初始化列表框对象后,使用 setListData()方法添加对象

         实例展示:

import javax.swing.JFrame;
import javax.swing.JList;
import java.awt.*;public class MyList extends JFrame{public MyList(){Container c = getContentPane();//核心代码以下JList<String> jl = new JList<>();String str[] ={"列表1","列表2","列表3","列表4"};jl.setListData(str);//使用该方法设置列表数据,引用对象应为数组类型c.add(jl);setBounds(100,100,100,100);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}public static void main(String[] args) {MyList my = new MyList();}
}

         运行结果:

        第二种方法: 在实例化JList列表框时,直接引用,数组类型的变量,至列表中。

public void JList(Object[] listDate);
//直接在JList实例化时,引用数组类型的对象,填充列表框

         与其他代码大差不差,核心代码差别为下:

String str[] ={"列表1","列表2","列表3","列表4"};JList<String> jl = new JList<>(str);
//创建数组后直接添加于列表框之中

        运行结果一样

         第三种方法:在实例化JList列表框时,直接引用,向量类的对象,至列表中。

public void JList(Vector listDate);

         核心代码差别为下:

Vector<String> contents = new Vector<>();
//列表框中引用了Vector对象
JList<String> jl = new JList<>(contents);//随时添加新的列表数据
contents.add("列表1");
contents.add("列表2");
contents.add("列表3");
contents.add("列表4");

         运行结果:

        第四种方法:在实例化JList列表框时,实例化ListModel类,至列表中 

public void JList(ListModel dateModel);

        在本类中创建一个MyListModel类,继承,“抽象列表模型类”。在该类中创建一个数组对象,然后实现该抽象类的两个方法,getElement()方法和getSize()方法。

        JList类会在内部自动调用getElementAt() 方法获取列表的每个元素。getElementAt() 方法会根据索引值返回对应位置的元素内容。同样,getSize() 方法用于告诉JList 数据模型中有多少个元素。

           实例展示:

public class MyList extends JFrame{public MyList(){Container c = getContentPane();JList<String> jl = new JList<>(new MyListModle());//实例化JList列表框时,实例化ListModel类c.add(jl);setBounds(100,100,100,100);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}//创建列表模型,继承抽象类,实现两个抽象方法
class MyListModle extends AbstractListModel<String>{private String contents[] ={"列表1","列表2","列表3","列表4"};public String getElementAt(int x){    //JList类会在内部调用这个方法,获取列表的每个元素if(x<contents.length){return contents[x++];}else{return null;}}public int getSize(){return contents.length;}
}

         运行结果:

二、文本框(域)

        1.文本框

        文本框(JTextField)是用于显示或编辑一个单行文本框体。

        JTextField常用构造方法如下:

public JTextField()        直接创建一行可输入的文本框

public JTextField(String text)        创建一行有“text”输入内容的文本框

        实例展示:

//···········省略代码··················JTextField jt = new JTextField("你好");//···········省略代码··················

 

        2.文本域

        文本域(JTextArea)即为一个文本文件,可以任意输入内容。

        JTextArea常用的构造方式如下:

public JTextArea()        直接创建可输入的文本域

public JTextArea(String text)        创建有“text”输入内容的文本域

setLineWrap()方法    将该方法的参数设置为ture,文本域就会自动换行,触边换行

        实例展示:

import javax.swing.JFrame;
import javax.swing.JTextArea;
import java.awt.*;public class MyJTextArea extends JFrame{public MyJTextArea(){Container c = getContentPane();JTextArea jt = new JTextArea("文本域",6,6);jt.setLineWrap(true);  // setLineWarp()方法 可以实现自动换行 触边换行c.add(jt);setBounds(100,100,100,200);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}public static void main(String[] args) {MyJTextArea my = new MyJTextArea();}
}

        运行结果:

三、密码框

         

        密码框(JPasswordField)与文本框唯一不同的是,密码框将用户输入的字符串以某种符号进行加密,使用 setEchoChar() 方法可以改变密码框的回显字符。

        JPasswordField常用的构造方法如下:

public JTextArea()        直接创建可输入的密码框

public JTextArea(String text)        创建有“****”输入内容的密码框

        实例展示:

//*********省略代码***********JPasswordField jp = new JPasswordField( "1234");
//创建了一个有输入内容,显示为****jp.setEchoChar('#');
//回显字符由‘*’变为‘#’,显示为了####//*********省略代码***********

        输出结果:

 


总结

        该篇提供了一些关于“框”的代码,使用这些框是前端的基础,只有记住这些框的名字即可,再实例化后,添加进容器对象,其他的代码基本不会改变。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【初始消息队列】消息队列的各种类型

消息队列相关概念 什么是消息队列 MQ(message queue)&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内容是 message 而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息。在互联网架构中…

对账中心系统架构设计与实现的实践总结

随着数字化时代的到来&#xff0c;越来越多的企业开始使用对账中心系统来管理其财务交易。对于一个成功的对账中心系统&#xff0c;其架构设计和实现非常关键。本文将探讨对账中心系统架构设计与实现的重要性、关键原则和实施过程中需要考虑的要点&#xff0c;帮助企业构建强大…

pm2常用命令有哪些?

PM2 是一个流行的 Node.js 进程管理工具&#xff0c;用于管理和监控 Node.js 应用程序。以下是一些常用的 PM2 命令&#xff1a; 启动应用程序&#xff1a; pm2 start app.js这将启动名为 app.js 的 Node.js 应用程序。 列出所有应用程序&#xff1a; pm2 list这将列出当前所有…

书生浦语-模型微调

大语言模型微调 指令微调的流程 LoRA(旁路分支微调) Xtuner微调框架 微调训练 作业 微调作业需要多训练几个epoch&#xff0c;这里训练了16个epoch

Rust 学习笔记 - 注释全解

前言 和其他编程语言一样&#xff0c;Rust 也提供了代码注释的功能&#xff0c;注释用于解释代码的作用和目的&#xff0c;帮助开发者理解代码的行为&#xff0c;编译器在编译时会忽略它们。 单行注释 单行注释以两个斜杠 (//) 开始&#xff0c;只影响它们后面直到行末的内容…

win10下wsl2使用记录(系统迁移到D盘、配置国内源、安装conda环境、配置pip源、安装pytorch-gpu环境、安装paddle-gpu环境)

wsl2 安装好后环境测试效果如下&#xff0c;支持命令nvidia-smi&#xff0c;不支持命令nvcc&#xff0c;usr/local目录下没有cuda文件夹。 系统迁移到非C盘 wsl安装的系统默认在c盘&#xff0c;为节省c盘空间进行迁移。 1、输出wsl -l 查看要迁移的系统名称 2、执行导出命…

Wheeltec小车的开发实录(3)之 wheeltec小车中配置自己的全局优化算法

我一贯的学习路子就先模仿后创造 所以我找到了哔哩哔哩上的一个up写好的算法放到我的小车中 ros的官方教程链接是&#xff1a; navigation/Tutorials/Writing a Local Path Planner As Plugin in ROS - ROS Wiki 首先去up的github上下载插件 Grizi-ju (xiaoju) GitHub 下…

VMware Workstation创建虚拟机

一、VMware Workstation下载安装 1、安装教程 VMware Workstation下载安装&#xff08;含密钥&#xff09; 二、VMware Workstation 创建虚拟机 1、新建虚拟机&#xff0c;点击“创建新的虚拟机” 2、选择自定义&#xff08;高级&#xff09;&#xff0c;点击“下一步” 3…

【Java EE初阶十二】网络原理(二)

2. 传输层 2.2 TCP协议 2.2.2 关于可靠传输 4.滑动窗口 前面的三个机制&#xff0c;都是在保证 tcp 的可靠性&#xff1b; TCP 的可靠传输,是会影响传输的效率的.(多出了一些等待 ack 的时间,单位时间内能传输的数据就少了)&#xff1b; 滑动窗口,就让可靠传输对性能的影响,更…

[嵌入式系统-24]:RT-Thread -11- 内核组件编程接口 - 网络组件 - TCP/UDP Socket编程

目录 一、RT-Thread网络组件 1.1 概述 1.2 RT-Thread支持的网络协议栈 1.3 RT-Thread如何选择不同的网络协议栈 二、Socket编程 2.1 概述 2.2 UDP socket编程 2.3 TCP socket编程 2.4 TCP socket收发数据 一、RT-Thread网络组件 1.1 概述 RT-Thread 是一个开源的嵌入…

【C Primer Plus第六版 学习笔记】 第十七章 高级数据表示

有基础&#xff0c;进阶用&#xff0c;个人查漏补缺 链表&#xff1a;假设要编写一个程序&#xff0c;让用户输入一年内看过的所有电影&#xff0c;要储存每部影片的片名和评级。 #include <stdio.h> #include <stdlib.h> /* 提供malloc()的原型 */ #include <s…

数据记笔记:USGS 查看上世纪卫星图

1 先到USGS EarthExplorer 界面&#xff0c;在address 处选择需要的城市/也可以在底下polygon处手动标出需要研究的区域 2&#xff0c;点击show&#xff0c;就会出找到的对应的区域&#xff0c;点击这个区域&#xff0c;polygon处就会有响应了。然后选择date range 3 点击下方的…