如何限制 Swing 的 GroupLayout 中的 JLabel 寬度,同時保持對幀大小調整的反應能力?
在 Swing GroupLayout 中調整元件大小和限制元件大小
Swing 的 GroupLayout 為複雜的使用者介面提供靈活的佈局管理。然而,在處理動態調整大小時,控制 GroupLayout 內的元件大小可能具有挑戰性。本文將提出一種解決方案,限制 GroupLayout 中元件標籤的最大寬度,同時保持其對幀大小變化的反應能力。
問題
考慮使用GroupLayout水平佈局的並行組和垂直佈局的順序組,如下:
*-----------------------------------------------* | label A | field A | | label B | field B | | label C | field C | *-----------------------------------------------*
任務是限制標籤的寬度(JLabel 的實例)為框架寬度的三分之一,同時框架可以調整大小。
解決方案
1.依賴首選尺寸
GroupLayout 可以利用標籤的首選尺寸,而不是手動設定尺寸約束。標籤具有適合其文字內容的預設首選尺寸。預設情況下,GroupLayout 在元件調整大小行為時遵循這些首選大小。
2. GroupLayout 對齊
要右對齊標籤,可以使用GroupLayout.Alignment.TRAILING:
layout.setHorizontalGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING) .addComponent(label1) .addComponent(label2) .addComponent(label3)) .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(field1) .addComponent(field2) .addComponent(field3)) );
3.範例程式碼
以下程式碼示範了此解決方案的實作:
public class GroupPanel extends JPanel { private JLabel label1 = new JLabel("Primary:"); private JTextField field1 = new JTextField(16); private JLabel label2 = new JLabel("Secondary:"); private JTextField field2 = new JTextField(16); private JLabel label3 = new JLabel("Tertiary:"); private JTextField field3 = new JTextField(16); public GroupPanel(int n) {
以上是如何限制 Swing 的 GroupLayout 中的 JLabel 寬度,同時保持對幀大小調整的反應能力?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

在使用IntelliJIDEAUltimate版本啟動Spring...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...
