首页 > 编程语言 >Java学习之路--GUI编程06

Java学习之路--GUI编程06

时间:2023-09-20 18:47:13浏览次数:35  
标签:容器 container Java -- GUI Vector import new public

package com.gui.lesson06;

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

//2023.3.25/3.26 GUI编程--下拉框学习(Combobox)
//这个程序最终运行结果不美观,正常情况下下拉框我们放在一个面板里面再添加到容器中。这里就只是演示下拉框是什么样子
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.setSize(500,300);//设置大小
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//JFrame默认的关闭窗口的事件方法
}

public static void main(String[] args) {
//启动程序
new TestComboboxDemo01();
}
}

//
package com.gui.lesson06;

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

//2023.3.25/3.26 GUI编程-列表框(List)学习 JFrame 里列表为 JList
public class TestComboboxDemo02 extends JFrame {
public TestComboboxDemo02() {

Container container = this.getContentPane();//建立容器,并初始化容器

//生成列表的内容
// String[]contents = {"1","2","3"};//创建一个String(字符串)类型的数组,采用静态初始化数组,数组里包含的元素为 1,2,3
//1.注释掉这行代码是因为下面写了Vector 动态数组,将动态数组注释掉就可以取消这行代码的注释了

Vector contents = new Vector();
/*
Vector 类实现了一个动态数组。和 ArrayList 很相似,但是两者是不同的:
Vector 是同步访问的。
Vector 包含了许多传统的方法,这些方法不属于集合框架。
Vector 主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。
Vector 类支持 4 种构造方法。
第一种构造方法创建一个默认的向量,默认大小为 10:
Vector()
第二种构造方法创建指定大小的向量。
Vector(int size)
第三种构造方法创建指定大小的向量,并且增量用 incr 指定。增量表示向量每次增加的元素数目。
Vector(int size,int incr)
第四种构造方法创建一个包含集合 c 元素的向量:
Vector(Collection c)
*/

//列表中需要输入内容
JList list = new JList(contents);//创建列表对象,将数组contents 添加到列表中

contents.add("zhangsan");//1 这3行代码是Vector的
contents.add("lisi");//2
contents.add("wangwu");//3

container.add(list);//将列表添加到容器中

this.setVisible(true);//设置可见性
this.setSize(300,200);//设置大小
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//JFrame 默认关闭窗口的事件方法
}

public static void main(String[] args) {
//启动程序
new TestComboboxDemo02();
}
}

//
package com.gui.lesson06;

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

//2023.3.26 GUI编程--文本框学习
public class TestTextDemo01 extends JFrame {
public TestTextDemo01() {
Container container = this.getContentPane();//建立容器,初始化容器

JTextField textField1 = new JTextField("hello");//创建文本对象1 初始化内容为‘hello’
JTextField textField2 = new JTextField("world", 20);//创建文本对象2,并初始化内容为‘world’ 文本长度为20

container.add(textField1,BorderLayout.NORTH);//将文本添加到容器中,采用东西南北中布局放在北边
container.add(textField2,BorderLayout.SOUTH);//将文本添加到容器中,采用东西南北中布局放在南边

this.setVisible(true);//设置可见性
this.setSize(300,350);//设置大小
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//JFrame 默认关闭窗口的事件方法
}

public static void main(String[] args) {
//启动程序
new TestTextDemo01();
}
}

//
package com.gui.lesson06;

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

//2023.3.27 GUI编程--密码框学习(passwordField)
public class TestTextDemo02 extends JFrame {
public TestTextDemo02() {

Container container = this.getContentPane();//创建容器,并初始化

//面板

JPasswordField passwordField = new JPasswordField();//创建密码框对象
passwordField.setEchoChar('*');//设置密码在输入过程中用 ’*‘ 遮掩输入的字符使其不可见

container.add(passwordField);//将密码框放入容器中

this.setVisible(true);//设置可见性
this.setSize(500,350);//设置窗体的大小
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//JFrame 默认关闭窗口的事件方法
}

public static void main(String[] args) {
//启动程序
new TestTextDemo02();
}
}

//
package com.gui.lesson06;

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

//2023.3.27 GUI编程--文本域学习(TextArea)
public class TestTextDemo03 extends JFrame {
public TestTextDemo03() {

Container container = this.getContentPane();//创建容器,初始化容器

JTextArea textArea = new JTextArea(10,20);//创建文本域对象,文本域大小为10行,每行的可输入字符最大数为20
// JTextArea textArea = new JTextArea("加油!打工人!");//创建文本域对象,文本域初始内容为()’加油!打工人!‘
textArea.setText("好好干,日子会越来越甜!");//设置文本域内内容为 ’好好干,日子会越来越甜!‘

container.add(textArea);//将文本域添加到容器中

this.setVisible(true);//设置可见性
this.setSize(500,400);//设置窗体的大小
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//JFrame 默认关闭窗口的事件方法
}

public static void main(String[] args) {
//启动程序
new TestTextDemo03();
}
}

标签:容器,container,Java,--,GUI,Vector,import,new,public
From: https://www.cnblogs.com/CaiDingChao/p/17718061.html

相关文章

  • 求平均值
    求平均值1.题目地址https://www.acwing.com/problem/content/1600/2.题目解析直接按照题意做即可。需要注意:try...catch的使用,size_t类型的使用,stof函数的使用。3.题解这里不再阐述4.代码#include<iostream>#include<cstdio>#include<cstring......
  • pandas学习-函数drop_duplicates的用法
    pandas函数drop_duplicates用于去除DataFrame中的重复行。语法:DataFrame.drop_duplicates(subset=None,keep='first',inplace=False)参数说明:subset:指定要考虑的列名或列名的列表。默认值为None,表示考虑所有列。keep:指定保留哪个重复的行。可选值为'first'(保留第一个出现......
  • 记录--不要再滥用可选链运算符(?.)啦!
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言可选链运算符(?.),大家都很熟悉了,直接看个例子:constresult=obj?.a?.b?.c?.d很简单例子,上面代码?前面的属性如果是空值(null或undefined),则result值是undefined,反之如果都不是空值,则会返回最后一个d属性......
  • Java学习之路--GUI编程--贪吃蛇小游戏
    贪吃蛇小游戏界面实现四步走1.定义数据2.面板里将数据画上去3.监听事件键盘事件packagecom.gui.snake;importjavax.swing.*;importjava.net.URL;//2023.3.28GUI编程--贪吃蛇小游戏的实现--数据中心(只有一堆图片的数据)--贪吃蛇各个部分的导入--图片文件夹有两种导入......
  • USB的4根线接法
    USB线一共四针,其中两针是数据线,两针是电源线包括接地,红线:电源正极(接线上的标识为:+5V或VCC)、白线:负电压数据线(标识为:Data-或USBPort-)、绿线:正电压数据线(标识为:Data+或USBPort+)、黑线:接地(标识为:GND)。一般的排列顺序是VCC、D-、D+、GND,排列是固定的,但是有两种方向,数据线接错顶......
  • c++ 访问全局变量
      #include<iostream>usingnamespacestd;inta{1};intmain(){inta{123};cout<<"外部的a:"<<a<<endl;//外部的a:123{cout<<"外部的a:"<<a<<endl;//外部的a:123......
  • Docker ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/contai
     错误排查:都会用 2那里 搜索 ,答案又是满天飞,且抄手一大帮! 正确实的方式:  tail-200f/var/log/messages    查看日志,具体定位! ......
  • Spring Batch数据导入导出深入探讨
    介绍SpringBatch是一个轻量级的批处理框架,它提供了一种简单的方式来处理大量数据。在本文中,我们将深入探讨SpringBatch的数据导入导出功能。数据导入SpringBatch提供了多种方式来导入数据,包括从文件、数据库、Web服务等。下面我们将分别介绍这些方式。从文件导入SpringBat......
  • MySQL存储引擎架构深入探讨
    前言MySQL是目前最流行的关系型数据库之一,其存储引擎架构是其核心特性之一。本文将深入探讨MySQL存储引擎架构,包括InnoDB、MyISAM、Memory等常见存储引擎的特点和使用场景。InnoDBInnoDB是MySQL的默认存储引擎,也是最常用的存储引擎之一。它支持事务、行级锁、外键等特性,适合于高......
  • Kibana中的数据导入与清洗技巧
    前言Kibana是一个非常强大的数据可视化工具,但是在使用Kibana之前,我们需要将数据导入到Elasticsearch中,并进行清洗和预处理。本文将介绍如何使用Logstash和Elasticsearch进行数据导入和清洗。LogstashLogstash是一个开源的数据收集引擎,它可以从各种来源收集数据,并将数据转换为Ela......