容器与IO流刍议

2023-11-10 17:30
文章标签 容器 io 刍议

本文主要是介绍容器与IO流刍议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

容器

一.何为容器

java提供了用于开发桌面程序的API(Application Programming Interface,应用程序接口),并存储在javax.swing包中。java.swing是一个非常强大的包,内容相当丰富。

通过GUI(Graphics User Interface,图形用户界面),用户可以和程序之间进行交流。java的抽象窗口工具包(Abstract Window Toolkit,AWT)提供了许多用来设计GUI的类,早期进行设计时主要使用的

包是java.awt包提供的类,例如:Button(按钮)、TextField(文本框)、List(列表)等。而在JDK 1.2推出后,增加了一个新的javax.swing包,提供了更加强大的用来设计GUI的类。

以上为背景知识,现介绍两个重要的概念:容器类(Container)和组件类(Component)。在javax.swing包中JComponent类是java.awt包中Container类的一个直接子类,是java.awt包中的Component

类的一个间接子类,而学习GUI编程主要是学习Component类的一些重要子类。

组件:由Component类的子类或间接子类创建的对象叫做一个组件。

容器:由Container类的子类或间接子类创建的对象叫做一个容器,而在java.awt中Container类本身是Component类的子类,所以任何容器都是一个组件,任何一个容器都可以作为组件,但由Component类直接创建的对象以及非Container类的子类所创建的对象只能作为组件。从整体理解来看,组件和容器是相对的概念,容器之所以叫容器是因为它容纳了组件,组件之所以叫组件是因为它是整个容器的组成部分之一,这样就比较好理解了。

特点:Container类提供了一个public方法add(),向容器内添加组件

           Container类提供了一个方法removeAll(),移除所有组件,调用remove(Component C),可以移除参数为C的组件

           容器本身也是一种组件,因此可以把一个容器添加到另外一个容器中,从而实现容器的嵌套。

           当容器添加一个组件,或移除一个组件时,应当调用validate()方法,以保证容器内的组件能够正常地显示出来。

二.窗口,菜单条,菜单,菜单项

1.窗口是什么

可以直接显示、绘制到操作系统所控制的平台上,例如显示器,这样的容器被称作底层容器。而容器类的间接子类Jframe类的实例就是这样一个底层容器,也是我们俗称的窗口(Window、Frame为中间人),也就是说,窗口是底层容器的一种。

2.菜单条,菜单,菜单项

分别由JComponent的子类JMenubar、JMenu、JMenuItem所创建

以下为一个简单的菜单代码

package com.company;import java.util.Scanner;
import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;import static javax.swing.JFrame.*;class WindowMenu extends JFrame{JMenuBar menuBar;JMenu menu,subMenu;JMenuItem item1,item2;public WindowMenu(){};public WindowMenu(String s,int x,int y,int w,int h){init(s);setLocation(x,y);setSize(w,h);setVisible(true);setDefaultCloseOperation(DISPOSE_ON_CLOSE);}void init(String s){setTitle(s);menuBar = new JMenuBar();menu = new JMenu("A502");subMenu = new JMenu("Good Men");item1 = new JMenuItem("Li");item2 = new JMenuItem("Yang");item1.setAccelerator(KeyStroke.getKeyStroke('A'));item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));menu.add(item1);menu.addSeparator();menu.add(item2);menu.add(subMenu);subMenu.add(new JMenuItem("Ke"));subMenu.add(new JMenuItem("Xuan"));menuBar.add(menu);setJMenuBar(menuBar);}
}public class Main {public static void main(String[] args) {WindowMenu win = new WindowMenu("This is a window",20,30,200,190);}
}

其效果如图所示:

 

三.常用组件和布局

1.常用组件

都是JComponent的子类

JTextField(文本框)

JTextArea(文本区)

JButton(按钮)

JLabel(标签)

JCheckBox(复选区)

JRadioButton(单选按钮)

JComboBox(下拉列表)

JPassWordField(密码框)

这篇关于容器与IO流刍议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/384203

相关文章

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方