java Swing组件setBounds()简单用法实例分析

时间:2022-03-24 09:29:32

本文实例讲述了java swing组件setbounds()简单用法。分享给大家供大家参考,具体如下:

先看api:

public void setbounds(rectangle r)

移动组件并调整其大小,使其符合新的有界矩形 r。由 r.x 和 r.y 指定组件的新位置,由 r.width 和 r.height 指定组件的新大小

参数: r - 此组件的新的有界矩形

从api来看,该方法的作用相当于setlocation()setsize()的总和。在实际使用时,需将容器的layout设置为null,因为使用布局管理器时,控件的位置与尺寸是由布局管理器来分配的。需要注意的是,这时必须手动指定容器的尺寸,因为空的布局管理器会将容器自身的preferredsize清零,导致容器无法在gui上显示。因此,如果容器在上级容器中使用布局管理器排列,那么需使用setpreferredsize(),如果容器在上级容器中仍然手动排列,那么对容器使用setbounds()即可。

下面是测试demo:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package awtdemo;
import java.awt.dimension;
import javax.swing.jbutton;
import javax.swing.jframe;
import javax.swing.jpanel;
public class setboundsdemo {
  public static void main(string[] args) {
    // todo auto-generated method stub
    //设置panel的layout以及sieze
    jpanel jpanel = new jpanel();
    system.out.println("default preferredsize is " + jpanel.getpreferredsize());
    system.out.println("default size is " + jpanel.getsize());
    jpanel.setlayout(null);
    system.out.println("in null layout, the preferredsize is " + jpanel.getpreferredsize());
    system.out.println("in null layout, the size is " + jpanel.getsize());
    jpanel.setpreferredsize(new dimension(400, 400));
    //添加按钮
    jbutton button11 = new jbutton("setbounds");
    jbutton button12 = new jbutton("setlocationandsetsize");
    button11.setbounds(20, 20, 100, 100);
    button12.setlocation(250, 250);
    button12.setsize(100, 100);
    jpanel.add(button11);
    jpanel.add(button12);
    // 设置窗体属性
    jframe frame = new jframe("setboundsdemo");
    frame.setdefaultcloseoperation(jframe.exit_on_close);
    frame.add(jpanel);
    frame.pack();
    frame.setlocationrelativeto(null);
    frame.setvisible(true);
  }
}

运行效果如下:

java Swing组件setBounds()简单用法实例分析

程序输出如下:

?
1
2
3
4
default preferredsize is java.awt.dimension[width=10,height=10]
default size is java.awt.dimension[width=0,height=0]
in null layout, the preferredsize is java.awt.dimension[width=0,height=0]
in null layout, the size is java.awt.dimension[width=0,height=0]

希望本文所述对大家java程序设计有所帮助。

原文链接:https://www.cnblogs.com/pzy4447/p/4574797.html