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

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. ZS Shuffles Cards 题解

    ZS Shuffles Cards 题解 我们把每一次抽一些数字牌再抽到 joker 视作一局游戏. 每局期望轮数 首先考虑 \(f_i\) 表示每一局游戏抽出 \(i\) 张牌的概率. 那么就是先抽 ...

  2. SpringBoot项目统一处理返回值和异常

    目录 简介 前期准备 统一封装报文 统一异常处理 自定义异常信息 简介 当使用SpringBoot开发Web项目的API时,为了与前端更好地通信,通常会约定好接口的响应格式.例如,以下是一个JSON格 ...

  3. VScode软件的安装以及C/C++环境配置的方法

    今天和大家分享一下VScode软件的安装以及C/C++环境配置的方法.手把手教大家入门. 1,下载VScode编译器 (1)    官网下载链接:https://code.visualstudio.c ...

  4. WPF-封装自定义雷达图控件

    源码地址:https://gitee.com/LiuShuiRuoBing/code_blog 雷达图用于表示不同内容的占比关系,在项目中有广泛的应用,但是目前未曾有封装良好的雷达图控件,鉴于最近项目 ...

  5. XV6中的锁:MIT6.s081/6.828 lectrue10:Locking 以及 Lab8 locks Part1 心得

    这节课程的内容是锁(本节只讨论最基础的锁).其实锁本身就是一个很简单的概念,这里的简单包括 3 点: 概念简单,和实际生活中的锁可以类比,不像学习虚拟内存时,现实世界中几乎没有可以类比的对象,所以即使 ...

  6. 安卓APK签名注入大师(APP注入弹窗,注入打开密码,注入过期时间, 注入提示信息,一机一码)

    安卓APK签名注入大师可以给安卓APK文件一键注入APP注入弹窗,注入打开密码,注入过期时间, 注入提示信息,一机一码等功能,方便开发人员给自己的APK文件添加消息提示, 密码等功能. 可以保护文件安 ...

  7. math 库中常用的数学运算和常量【GO 基础】

    〇.关于 math GO 语言的 math 库是一个内置的标准库,其中包含了许多数学函数和常量,用于计算各种数学运算和统计学计算. 日常开发中,计算当然是少不了的,那么今天来梳理下备查. 一.测试示例 ...

  8. Asp-Net-Core开发笔记:快速在已有项目中引入EFCore

    前言 很多项目一开始选型的时候没有选择EFCore,不过EFCore确实好用,也许由于种种原因后面还是需要用到,这时候引入EFCore也很方便. 本文以 StarBlog 为例,StarBlog 目前 ...

  9. Script:10g中显示Active Session Count by Wait Class

    摘自: http://www.askmaclean.com/archives/script-10g-show-active-session-count-wait-class.html SELECT T ...

  10. Webpack DevServer 代理本地静态目录

    前言 项目里需要离线切片地图,但切片地图文件很多,需求上有时无法单独提供一个独立的文件服务器或者切片服务器,放在 public 难免会在调试运行时被复制到 DevServer 上,而这个操作在低层级少 ...