容器与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

相关文章

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF