本文實例講述了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 ); } } |
運行效果如下:
程序輸出如下:
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