运用 Swing
一:Swing的组件:
组件(component,或称原件)就是你会放在GUI上的东西,这些东西用户可以看到并可以与之交互。
组件是可以嵌套的。
创建GUI的四个步骤:
1.创建window(JFrame): JFrame frame = new JFrame();
2.创建组件: JButton button = new JButton("Title");
3.把组件加载到frame上: frame.getContentPane().add(BorderLayout.EAST,button);
4.显示出来: frame.setSize(300,300);
frame.setVisible(true);
二:布局管理器(LayoutManager):
布局管理器是个与特定组件(大多数是背景组件)相关联的java'对象,布局管理器用来控制所关联组件上携带的其他组件。
布局管理器有几种不同的类型,每个背景组件都可以有自定义规则的布局管理器。例如,某个布局管理器会让所有的面板维持相同的大小,
而另一个布局管理器则会让组件自行设定大小但要求垂直对齐。
下面是一个嵌套布局的例子。
import java.awt.*;
import javax.swing.*; public class LayoutManagerTest{
public static void main(String[] args){
JFrame frame=new JFrame(); JPanel panelA=new JPanel();
JPanel panelB=new JPanel();
JButton buttonA=new JButton("Button A");
JButton buttonB=new JButton("Button B");
panelA.add(buttonA);
panelA.add(buttonB);
panelB.add(panelA);
frame.add(panelB); frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
那么布局管理器如何做决定呢?
基本按照下面的情景:
1.制作面板并加上两个按钮
2.面板的布局管理器会询问每个组件理想的大小(可能自定义了大小)应该是什么
3.面板的布局管理器以它的布局策略来决定是否尊重全部或部分按钮的理想
4.吧面板加到框架上
5.框架的布局管理器询问面板的理想尺寸
6.框架的布局管理器以它的布局策略来决定是否尊重全部或部分的面板理想
世界三大首席管理器:border,flow,box
BorderLayout:
这个管理器会将背景组件分成五个区域,每个被管理的区域只能放一个组件(当然你可以嵌套定义),这是框架默认的布局管理器。
FlowLayout:
这个管理器和文书程序的版面配置方式差不多。每个组件都会按照理想的大小呈现,并且会从左到右依次排列,放不下则换行。这是面板的默认布局。
BoxLayout:
和FlowLayout类似,但是他是按照垂直的方式排列(也可以水平),他不会自动换行,但是它会让你插入某种类似换行的机制来强制组件从新的一行开始排列
参考:Head First Java.
运用 Swing的更多相关文章
- 如何使用swing创建一个BeatBox
首先,我们需要回顾一些内容(2017-01-04 14:32:14): 1.Swing组件 Swing的组件(component,或者称之为元件),是较widget更为正确的术语,它们就是会放在GUI ...
- Java Swing interview
http://www.careerride.com/Swing-AWT-Interview-Questions.aspx Swing interview questions and answers ...
- Swing布局管理器介绍
创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhangjunhd.blog.51cto.com/113473/128174 当选 ...
- swing with transformjs
Antecedent Facebook made a HTML5 game long time ago. The opening animation is a piece of software th ...
- java swing 双人五子棋源代码
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; impo ...
- 用swing也可以做出好看的界面
用Swing做出的例子:JavaFX做出的界面:后来又做出了自己编写的一套基于Synth的L&F,其与直接在代码中重绘某个组件不同,最大优点是具有可插拔性,即在不改变原有程序代码的情况下,用户 ...
- Java界面设计 Swing(1)
Java界面设计的用途 开发者可以通过Java SE开发丰富并且强大的具有图形界面的桌面应用程序.也可以设计一些提高效率的工具软件,帮助自己处理机械性工作. Java 的图形界面工具包,可以用于工具类 ...
- java基础 swing编程实战
1. 实现金山词霸,点击左右收缩 效果图: exmaple code : /* * 词霸 * */ package demo7; import java.awt.*; import java.awt. ...
- Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解
Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解 在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示. Swing中 ...
- Swing学习笔记1-----Swing组件类的层次
1. 从结构上划分 Swing 组件类分为两种,一种是JComponent类,一种是Windows类.其中windows类包含的是一些可以独立显示的组件,而JComponent类包含的是不可以独立显 ...
随机推荐
- .NET LINQ 聚合操作
聚合操作 聚合运算从值集合计算单个值. 从一个月的日温度值计算日平均温度就是聚合运算的一个示例. 方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询表达式语法 更多信息 ...
- SQL IN ANY ,(all any) 区别
EXITS 和 IN 的区别: 从效率来看: 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; T1数据量小而T ...
- AngularJS 事件
AngularJS 有自己的 HTML 事件指令. ng-click指令: ng-click 指令定义了 AngularJS 点击事件. <!DOCTYPE html> <html& ...
- sql server 语句使用规范
Sql语句使用规范 规范内容以及注意事项: 1.查询时候使用top 10 /top 100 和where 字句控制每次执行SQL 返回的结果集合,在满足业务需求的同时返回最小的结果. 2.使用数据投影 ...
- Power BI for Office 365(三)Power Pivot
在Power Pivot中可以从各种数据源中根据你的需求来创建数据模型,并且可以根据需要随时刷新这些数据.在上一篇中,Anna已经准备好了加载到Power Pivot中的数据.Power Pivot就 ...
- [Unity3D]Unity+Android交互教程——让手机"动"起来
想要用Unity实现一个二维码扫描的功能,然后网上找插件,找到一个貌似叫EasyCodeScanner,但下载下来用用,真不好使,一导入运行就报错,调好错了再运行发现点按钮没反应,反复试了几遍发现还是 ...
- 复利计算--结对项目<04-11-2016> 1.0.0 lastest 阶段性完工~
结对项目:Web复利计算 搭档博客地址:25江志彬 http://www.cnblogs.com/qazwsxedcrfv/ 个人摘要: (2016-04-09-12:00)补充:之前传送门没做好, ...
- JavaScript 富文本编辑器
WEB项目中使用UEditor(富文本编辑器) UEditor - 完整示例 http://ueditor.baidu.com/website/onlinedemo.html UEditor注意事项: ...
- HDU 3038 How Many Answers Are Wrong(种类并查集)
题目链接 食物链类似的题,主要是在于转化,a-b的和为s,转换为b比a-1大s.然后并查集存 此节点到根的差. 假如x的根为a,y的根为b: b - y = rank[y] a - x = rank[ ...
- android studio 问题1
在使用androidStudio中,经常导入其他的项目,有时候会出现以下错误: rror:FAILURE: Build failed with an exception. * What went wr ...