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

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

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

  1. java Swing组件随着窗口拖动等比移动或等比放大

    实现原理很简单, 1清空布局(使用绝对布局) 2添加监听器(监听窗口是否被拖动) 3在监听器里面动态调整 组件的位置 效果如下: 拖动之后效果: 代码实现: import java.awt.Event ...

  2. Java当中的内存分配以及值传递问题内存解析

    首先必须说明作为Java程序员对于内存只要有大致的了解就可以了,如果你对Java当中的某一个知识点在不需要分析内存分配过程的情况下可以掌握,那就大可不必去研究内存.如果你对知识点已经掌握,那么你应该把 ...

  3. Java基础之创建窗口——使用网格布局管理器(TryGridLayout)

    控制台程序. 网格布局管理器可以在容器的矩形网格中布局组件. import javax.swing.*; import java.awt.*; import javax.swing.border.Et ...

  4. 框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口

    框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口. 与Frame不同,Applet是在网页中显示的,也可以通过添加Panel进行组件布局. package TomAwt; im ...

  5. Java AWT组件开发和Swing界面编程

    一.AWT组件开发 1.AWT AWT是抽象窗口工具箱的缩写,它为编写图形用户界面提供了用户接口,通过这个接口就可以继承很多方法,省去了很多工作.AWT还能使应用程序更好地同用户进行交互. AWT中的 ...

  6. 在 Java EE 组件中使用 Camel Routes

    摘要:你可以通过集成 Camel 和 WildFly 应用服务器(使用 WildFly-Camel 子系统)在 Java EE 组件中开始使用 Apache Camel Routes. [编者按]作者 ...

  7. Java当中的运算符

    一.关于Java当中运算符的分类 算术运算符:+,-,*,/.%(是取余运算符读莫).++.-- 关系运算符:>.<.>=.<=.!=(不等).==(等于) 布尔运算符:!(非 ...

  8. java绘图原理------在窗口界面(或面板上)画出一张或多张图片问题解决方法

    /** *@author blovedr * 功能: java绘图原理------在窗口界面(或面板上)画出一张或多张图片问题解决方法 * 日期: 2018年4月28日     16:20 * 注释: ...

  9. 第55节:Java当中的IO流-时间api(下)-上

    Java当中的IO流(下)-上 日期和时间 日期类:java.util.Date 系统时间: long time = System.currentTimeMillis(); public class ...

  10. 第54节:Java当中的IO流(中)

    Java当中的IO流(中) 删除目录 // 简书作者:达叔小生 import java.io.File; public class Demo{ public static void main(Stri ...

随机推荐

  1. Nessus 10.5.3 漏洞扫描器的下载安装与卸载

    测试环境 Kali 2023.2 本教程使用脚本进行自动化安装.破解 文章地址:https://www.iculture.cc/software/pig=25546#wznav_7 偶然发现,特别好用 ...

  2. ECharts图表动态修改series显示隐藏

    目录 1.前言 2.思路 3.实现 1.前言 最近做的大数据平台,里面很多地方用到了ECharts,其中有个功能,要求将图表分组,根据用户选择的组,来确定ECharts要显示那些线条和柱子,也就是动态 ...

  3. 如何调用API接口获取商品数据

    在当今数字化的时代,电子商务的崛起使得网购成为了人们生活中不可或缺的一部分.作为电子商务中最为熟知和流行的平台之一,拥有大量的商品资源和用户群体.如果你是一名开发者或者是对数据分析感兴趣的人,你可能会 ...

  4. 「joisc 2019 - d2t2」ふたつの料理 Two Dishes

    [link.](E - ふたつの料理 (Two Dishes) (atcoder.jp) 我要放假 神仙题. 首先可以把两根轴拉成平面(which is a common trick),把决策的过程看 ...

  5. 历时一个月,《穿透Laravel》全书完成!

    近几年来Laravel在PHP领域大放异彩,逐渐成为PHP开发框架中的中流砥柱. 这个系列的文章, 会带你一起探知Laravel框架底层的实现细节.与其他框架相比,Laravel的设计理念确实更为先进 ...

  6. 基于react18+vite4+arco.design搭建极简版后台管理模板

    趁着国庆前夕整了一个vite4结合react18搭建后台管理模板,搭配上字节团队react组件库ArcoDesign,整体操作功能非常丝滑.目前功能支持多种模板布局.暗黑/亮色模式.国际化.权限验证. ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (102)-- 算法导论9.3 8题

    八.用go语言,设 X[1..n]和 Y[1..n]为两个数组,每个都包含n个有序的元素.请设计一个 O(lgn)时间的算法来找出数组 X和Y中所有 2n 个元素的中位数. 文心一言: 要在 O(lg ...

  8. Jmeter-变量的嵌套使用

    场景: 有存在获取到多个登录账号,循环获取单个变量的情况. 常用方法: ${__BeanShell(vars.get("变量字段_${变量字段}"))} 取值示例: 思维扩展: 一 ...

  9. Java 位运算的解读 & | ^ ~ << >>

    Java中的位运算包括以下几种: 按位与(&):对应位上,如果两个数都是1,则结果为1,否则为0. int a = 3; // 二进制 0011 int b = 5; // 二进制 0101 ...

  10. 深度学习 YOLO v1 源码+笔记

    """ Yolo V1 by tensorflow """ import numpy as np import tensorflow._ap ...