java Swing組件setBounds()簡單用法實例分析
本文實例講述了java Swing組件setBounds()簡單用法。分享給大家供大家參考,具體如下:
先看API:
public void setBounds(Rectangle r)
移動組件并調(diào)整其大小,使其符合新的有界矩形 r。由 r.x 和 r.y 指定組件的新位置,由 r.width 和 r.height 指定組件的新大小
參數(shù): r - 此組件的新的有界矩形
從API來看,該方法的作用相當于setLocation()
與 setSize()
的總和。在實際使用時,需將容器的layout設(shè)置為null,因為使用布局管理器時,控件的位置與尺寸是由布局管理器來分配的。需要注意的是,這時必須手動指定容器的尺寸,因為空的布局管理器會將容器自身的PreferredSize清零,導(dǎo)致容器無法在GUI上顯示。因此,如果容器在上級容器中使用布局管理器排列,那么需使用setPreferredSize()
,如果容器在上級容器中仍然手動排列,那么對容器使用setBounds()
即可。
下面是測試demo:
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 //設(shè)置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); // 設(shè)置窗體屬性 JFrame frame = new JFrame("setBoundsDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(jpanel); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } }
運行效果如下:
程序輸出如下:
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]
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java字符與字符串操作技巧總結(jié)》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
詳解Java Bellman-Ford算法原理及實現(xiàn)
Bellman-Ford算法與Dijkstra算法類似,都是以松弛操作作為基礎(chǔ),Bellman-Ford算法是對所有邊都進行松弛操作,本文將詳解Bellman-Ford算法原理及實現(xiàn),感興趣的可以了解一下2022-07-07SpringBoot整合Redis實現(xiàn)登錄失敗鎖定功能(實例詳解)
本文我們已經(jīng)探討如何利用Redis來實現(xiàn)鎖定賬戶的安全措施,以及通過SpringBoot整合Redis實現(xiàn)了這一功能,感興趣的朋友跟隨小編一起學(xué)習(xí)下吧2024-02-02SpringBoot2.0整合Shiro框架實現(xiàn)用戶權(quán)限管理的示例
這篇文章主要介紹了SpringBoot2.0整合Shiro框架實現(xiàn)用戶權(quán)限管理的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08SpringBoot常見get/post請求參數(shù)處理、參數(shù)注解校驗及參數(shù)自定義注解校驗詳解
這篇文章主要給大家介紹了關(guān)于SpringBoot常見get/post請求參數(shù)處理、參數(shù)注解校驗及參數(shù)自定義注解校驗的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-03-03關(guān)于spring?data?jpa?模糊查詢like的坑點
這篇文章主要介紹了關(guān)于spring?data?jpa?模糊查詢like的坑點,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Java實現(xiàn)的mysql事務(wù)處理操作示例
這篇文章主要介紹了Java實現(xiàn)的mysql事務(wù)處理操作,結(jié)合實例形式較為詳細的分析了Java基于JDBC操作mysql數(shù)據(jù)庫實現(xiàn)事務(wù)處理的相關(guān)概念、操作技巧與注意事項,需要的朋友可以參考下2018-08-08