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)垂直支撑。

目录
相关文章
|
10天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
50 4
|
21天前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
42 17
|
14天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
27 2
|
17天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
24 4
|
22天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
16 3
|
22天前
|
Java 开发者
在Java多线程编程中,选择合适的线程创建方法至关重要
【10月更文挑战第20天】在Java多线程编程中,选择合适的线程创建方法至关重要。本文通过案例分析,探讨了继承Thread类和实现Runnable接口两种方法的优缺点及适用场景,帮助开发者做出明智的选择。
15 2
|
22天前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
15 1
|
22天前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
28 1
|
22天前
|
Java
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅。它们用于线程间通信,使线程能够协作完成任务。通过这些方法,生产者和消费者线程可以高效地管理共享资源,确保程序的有序运行。正确使用这些方法需要遵循同步规则,避免虚假唤醒等问题。示例代码展示了如何在生产者-消费者模型中使用`wait()`和`notify()`。
23 1
|
22天前
|
安全 Java 开发者
Java多线程中的`wait()`、`notify()`和`notifyAll()`方法,探讨了它们在实现线程间通信和同步中的关键作用
本文深入解析了Java多线程中的`wait()`、`notify()`和`notifyAll()`方法,探讨了它们在实现线程间通信和同步中的关键作用。通过示例代码展示了如何正确使用这些方法,并分享了最佳实践,帮助开发者避免常见陷阱,提高多线程程序的稳定性和效率。
33 1