本文介紹了Java FlowLayout-特定元素的邊距/填充?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我對Swing非常陌生,我正在嘗試制作一個圖形用戶界面。
使用NetBeans的圖形用戶界面創建器,我設法制作了我喜歡的東西。但這讓我感覺很糟糕,我使用了這個編輯器,所以現在我正試圖用代碼來做同樣的設計。
這是一張我正在嘗試制作的圖片:
現在我只專注于創建”Criteria”部分(是的,我知道我在圖片中拼錯了)
以下是我目前掌握的信息:
我用紅色突出顯示了我希望增加邊距的位置:
文本框右側和標簽左側之間
在”條件”面板頂部和JFrame之間
面板和JFrame的左右兩側
我來自網絡開發行業,在那里增加利潤是我想做的事情。如果這是錯誤的術語,請通知我。
以下是我目前使用的代碼:
public class Criteria extends JPanel {
JLabel JobLabel = new JLabel();
JLabel BoxLabel = new JLabel();
JLabel PartLabel = new JLabel();
JTextField JobInput = new JTextField();
JTextField BoxInput = new JTextField();
JTextField PartInput = new JTextField();
public Criteria() {
setLayout(new FlowLayout(FlowLayout.LEADING));
setBorder(BorderFactory.createTitledBorder("Criteria"));
JobLabel.setText("Job");
JobLabel.setLabelFor(JobInput);
BoxLabel.setText("Box");
BoxLabel.setLabelFor(BoxInput);
PartLabel.setText("Part");
PartLabel.setLabelFor(PartInput);
JobInput.setColumns(8);
BoxInput.setColumns(8);
PartInput.setColumns(8);
add(JobLabel);
add(JobInput);
add(BoxLabel);
add(BoxInput);
add(PartLabel);
add(PartInput);
}
}
我不知道如何為這些組件增加保證金,因此非常感謝您的幫助。如果使用FlowLayout無法達到此效果,請告訴我應該使用什么。
推薦答案
Swing傾向于將邊距或邊框稱為”間隙”。FlowLayout
類(以及其他幾個布局類)允許您設置水平和垂直間距in its constructor,如下所示:
private static final int PADDING = 3; // for example
...
setLayout(new FlowLayout(FlowLayout.LEADING, PADDING, PADDING));
這將在標簽及其文本框之間添加填充,但是您可以用JPanel
(可能用FlowLayout
)來包裝每一對標簽。我會為此創建一個自定義組件類。
這篇關于Java FlowLayout-特定元素的邊距/填充?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,