java当中组件和窗口的相容问题(里面包含了这些方法的作用)

简介: Java窗口和组件的布局指南,教你如何打造一个既美观又实用的GUI界面。

窗口也称为容器,在书中大部分称为容器,这里主要讲的是底层容器。

JFrame():创建一个无标签的窗口。

JFrame(String s):创建标题为s的窗口

setBounds(int a,int b,int width,int height):这个是设计窗口的初始位置

setVisible(boolean b)这个是设置窗口是否可见,这里重点讲这个方法,这个方法的位置一般位于最后,因为从开始到这个方法为止都会显示,后面的就不会显示了,也就是说如果你把它放前面,后面那些组件就不会显示出来。

setDefaultCloseOperation(int operation)该方法用于设置单击窗口右上方的叉号程序会做出什么反应。

菜单包含菜单条JMenuBar,菜单JMenu,菜单项JMenuItem,嵌入子菜单,菜单本身就是菜单项,菜单上的图标Icon。

菜单可以直接加入窗口中,在菜单中可以加入菜单项。

组件JTextField(文本框) JTextArea(文本区) JButton(按钮) JLabel(标签) JCheckBox(复选框) JRadioButton(单选按钮) JComboxBox(下拉列表) JPasswordField(密码框)

这些组件可以直接加入窗口中,但是是没有任何格式可言。

接下来讲中间容器,JPanel面板,JTabbedPane(选择窗口)使用方法add(String text,Component c); JScrollPane(滚动窗格)这个窗格只可以添加一个组件,可以实现通过滚动条来观看该组件;

JSplitPane(拆分窗口)这里有两种类型,一种是水平拆分,一种是垂直拆分。

JLayeredPane(分层窗口)这个就是如果两个组件重叠在一起了,用它可以使他们分开。

常用布局

任何容器都可以采用这些布局,使用方法setLayout(布局对象);

FlowLayout流动布局,这个布局是按照add的先后顺序从左往右排列,每一行中的组件都居中摆列,水平和垂直间隔默认为五个像素,在该布局的容器中使用setSize设置大小是无效的。

BorderLayout布局这个布局是采用东南西北中五个地方,中间的地方比较大,每加入一个组件都要指明要放在什么位置上。

CardLayout布局,该布局是重叠地放入容器中,最先是第一张,依次往下排列,该容器特点是在同一个容器当中一次只能显示一张,这个显示的组件将会占据所有的容器空间。

GridLayout网格布局,该布局就是将容器分成若干行乘以若干列,划分成不同的小块,而组件就在这些小块里,其顺序是组件加入顺序和第一行第一个到第n行第n个是划等号的

null布局就是空布局,就相当于在容器中加组件一样,这个布局可以设置组件的大小,通过setBounds(int x,int y,int width,int height)。

BoxLayout盒式布局,这个是可以利用容器的嵌套将某几个容器嵌入到几个盒式容器中,以达到布局的目的,其中createHorizontalBox()这个是获得一个行式盒式容器,createVerticalBox()这个是获得列式盒式布局,createHorizontalStruct(int width)水平支撑createVerticalStruct(int height)垂直支撑。

目录
相关文章
|
17天前
|
前端开发 JavaScript Java
Java 开发中 Swing 界面嵌入浏览器实现方法详解
摘要:Java中嵌入浏览器可通过多种技术实现:1) JCEF框架利用Chromium内核,适合复杂网页;2) JEditorPane组件支持简单HTML显示,但功能有限;3) DJNativeSwing-SWT可内嵌浏览器,需特定内核支持;4) JavaFX WebView结合Swing可完美支持现代网页技术。每种方案各有特点,开发者需根据项目需求选择合适方法,如JCEF适合高性能要求,JEditorPane适合简单展示。(149字)
77 1
|
9天前
|
Java 索引
Java ArrayList中的常见删除操作及方法详解。
通过这些方法,Java `ArrayList` 提供了灵活而强大的操作来处理元素的移除,这些方法能够满足不同场景下的需求。
69 30
|
1天前
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
17 1
|
21天前
|
缓存 Java 数据库
Java 访问修饰符使用方法与组件封装方法详细说明
本文详细介绍了Java中访问修饰符(`public`、`private`、`protected`、默认)的使用方法,并结合代码示例讲解了组件封装的核心思想与实现技巧。内容涵盖数据封装、继承扩展、模块化设计与接口隔离等关键技术点,帮助开发者提升代码的可维护性与安全性,适用于Java初学者及进阶开发者学习参考。
30 1
|
1月前
|
人工智能 前端开发 Java
Java 面试资料中相关代码使用方法与组件封装方法解析
这是一份详尽的Java面试资料代码指南,涵盖使用方法与组件封装技巧。内容包括环境准备(JDK 8+、Maven/Gradle)、核心类示例(问题管理、学习进度跟踪)、Web应用部署(Spring Boot、前端框架)、单元测试及API封装。通过问题库管理、数据访问组件、学习进度服务和REST接口等模块化设计,帮助开发者高效组织与复用功能,同时支持扩展如用户认证、AI推荐等功能。适用于Java核心技术学习与面试备考,提升编程与设计能力。资源链接:[点此下载](https://pan.quark.cn/s/14fcf913bae6)。
70 6
Java 面试资料中相关代码使用方法与组件封装方法解析
|
1月前
|
存储 Java C语言
Java List 复制:浅拷贝与深拷贝方法及区别
我是小假 期待与你的下一次相遇 ~
|
1月前
|
Java 数据挖掘 调度
Java 多线程创建零基础入门新手指南:从零开始全面学习多线程创建方法
本文从零基础角度出发,深入浅出地讲解Java多线程的创建方式。内容涵盖继承`Thread`类、实现`Runnable`接口、使用`Callable`和`Future`接口以及线程池的创建与管理等核心知识点。通过代码示例与应用场景分析,帮助读者理解每种方式的特点及适用场景,理论结合实践,轻松掌握Java多线程编程 essentials。
98 5
|
2月前
|
JavaScript 前端开发 Java
Java 编程进阶实操中工具集整合组件封装方法与使用指南详解
本文详细介绍Hutool工具集和图书管理系统相关组件的封装方法及使用示例。通过通用工具类封装(如日期格式化、字符串处理、加密等)、数据库操作封装(结合Hutool DbUtil与MyBatis)、前端Vue组件封装(图书列表与借阅表单)以及后端服务层封装(业务逻辑实现与REST API设计),帮助开发者提升代码复用性与可维护性。同时,提供最佳实践建议,如单一职责原则、高内聚低耦合、参数配置化等,助力高效开发。适用于Java编程进阶学习与实际项目应用。
117 10
|
机器学习/深度学习 数据采集 算法
Java 大视界 -- Java 大数据机器学习模型在金融衍生品定价中的创新方法与实践(166)
本文围绕 Java 大数据机器学习模型在金融衍生品定价中的应用展开,分析定价现状与挑战,阐述技术原理与应用,结合真实案例与代码给出实操方案,助力提升金融衍生品定价的准确性与效率。
Java 大视界 -- Java 大数据机器学习模型在金融衍生品定价中的创新方法与实践(166)
|
2月前
|
安全 Java API
【Java性能优化】Map.merge()方法:告别繁琐判空,3行代码搞定统计累加!
在日常开发中,我们经常需要对Map中的值进行累加统计。}else{代码冗长,重复调用get()方法需要显式处理null值非原子操作,多线程下不安全今天要介绍的方法,可以让你用一行代码优雅解决所有这些问题!方法的基本用法和优势与传统写法的对比分析多线程安全版本的实现Stream API的终极优化方案底层实现原理和性能优化建议一句话总结是Java 8为我们提供的Map操作利器,能让你的统计代码更简洁、更安全、更高效!// 合并两个列表});简单累加。
222 0