java:布局方法(绝对布局)
绝对的布局一、简单引导二、流程图三、步骤详情(一)创建一个窗体1.源码A2.源码A的运行效果(二)在窗体里添加容器源码B(三)添加组件1.源码C2.源码C的运行效果四、定位日期一、简单引导layout(布局)重点代码(绝对布局):c.setLayout(null);// 为null时表示将容设为绝对布局为绝对布局;一个窗体原本是空白的,当我们在里面添加一些组件(如:按钮、标签)后,窗体便不再单调。
·
一、简单引导
- layout(布局)
- 重点代码(绝对布局):
c.setLayout(null);// 为null时表示将容设为绝对布局为绝对布局;
- 一个窗体原本是空白的,当我们在里面添加一些组件(如:按钮、标签)后,窗体便不再单调。而这些组件在窗体中的摆放方式,便会联系到后面的布局学习。
- 绝对布局,当我们编辑好组件在窗体容器中的坐标以及本身大小的相关代码后,这个组件便已经相对于窗体固定住,此时,不管如何改变窗体都不会改变已固定组件的坐标及大小。
- 补充说明:坐标问题,以电脑桌面左上角为原点,再以窗体左上角相对于原点确定位置。后面关于容器中的组件位置坐标也类似,以左上角为准。以数学方式理解说,我们使用的是第四象限。
二、流程图
- 组件:比如按钮,标签等,后面源码则用按钮来做例子。
三、步骤详情
(一)创建一个窗体
1.源码A
源码A是创建一个普通的窗体,设置窗体坐标、大小、是否可见。
源码A如下:
/**内容:
绝对布局
容器里的组件不会随着对窗体的的变化而改变,组件的坐标和大小已经由代码固定,因此
想要改变组件坐标、大小变化,需要改变组件对应的代码参数。
*/
import java.awt.Container;// 容器
import javax.swing.*;// 窗体
class Demo extends JFrame{
public Demo(){
setBounds(200,150,500,400);// 设置窗体,坐标,宽高;bounds(边界)
//Default(默认值),Operation(操作)
setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×便停止运行;md
setVisible(true);// 是否可见
}
public static void main(String[] args){
new Demo();
}
}
2.源码A的运行效果
(二)在窗体里添加容器
源码B
-
源码B是在源码A的基础上添加。
-
源码B为添加容器,源码里只是添加了一句关键代码。事实上,各组件是放于容器中,组件的布局也就是组件在容器中的布局。而容器又是添加到窗体之中。如此关系。
-
源码B的运行效果和源码A一样。
源码B如下
/**内容:
绝对布局
容器里的组件不会随着对窗体的的变化而改变,组件的坐标和大小已经由代码固定,因此
想要改变组件坐标、大小变化,需要改变组件对应的代码参数。
*/
import java.awt.Container;// 容器
import javax.swing.*;// 窗体
class Demo extends JFrame{
public Demo(){
setBounds(200,150,500,400);// 设置窗体,坐标,宽高;bounds(边界)
//Default(默认值),Operation(操作)
setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×便停止运行;
// Container(容器),Content(目录),Pane(边界)
Container c=getContentPane();// 添加容器c
setVisible(true);// 是否可见
}
public static void main(String[] args){
new Demo();
}
}
(三)添加组件
1.源码C
- 源码C是在源码B的基础上添加。
- 源码C则是在容器里添加组件(按钮)且设定组件位置大小。
源码C如下:
/**内容:
绝对布局
容器里的组件不会随着对窗体的的变化而改变,组件的坐标和大小已经由代码固定,因此
想要改变组件坐标、大小变化,需要改变组件对应的代码参数。
*/
import java.awt.Container;// 容器
import javax.swing.*;// 窗体
class Demo extends JFrame{
public Demo(){
setBounds(200,150,500,400);// 设置窗体,坐标,宽高;bounds(边界)
//Default(默认值),Operation(操作)
setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×便停止运行;
// Container(容器),Content(目录),Pane(边界)
Container c=getContentPane();// 添加容器c
c.setLayout(null);// 为null时表示将容设为绝对布局为绝对布局;layout(布局)
// 创建两个按钮,分别命名为“按钮1”,“按钮2”
JButton b_1=new JButton("按钮1"), b_2=new JButton("按钮2");
b_1.setBounds(40,30,70,30);// 设置按钮1在容器中的坐标、宽高
b_2.setBounds(50,70,80,40);
c.add(b_1);// 将 按钮1 放于容器c中
c.add(b_2);
setVisible(true);// 是否可见
}
public static void main(String[] args){
new Demo();
}
}
2.源码C的运行效果
四、定位日期
2020.10.29;20:57
更多推荐
已为社区贡献3条内容
所有评论(0)