[英]Fixed height and width for JTextField
我最近一直在使用Java Swing,當我嘗試在彼此之間添加3個JTextField時,它們會填充整個JFrame。 但是我希望它們具有固定的高度和寬度。 我能做什么?
由於我是該主題的新手,因此我無法嘗試許多事情。 我也沒有在其他論壇上找到任何東西。
我的目標是為用戶創建一個簡單的GUI,以填寫其憑據。 這些憑據應該填充到一個數組中,但我還沒有到那兒。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class PeopleGUI extends JFrame{
JPanel jp = new JPanel();
JLabel jl = new JLabel();
JTextField jt = new JTextField(30);
JTextField jt1 = new JTextField(30);
JTextField jt2 = new JTextField(30);
JButton jb = new JButton("Enter");
public PeopleGUI(){
setTitle("PeopleGUI");
setVisible(true);
setSize(400,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS));
jp.add(jt);
jp.add(jt1);
jp.add(jt2);
jt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String input = jt.getText();
jl.setText(input);
}
});
jp.add(jb);
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String input = jt.getText();
jl.setText(input);
}
});
jp.add(jl);
add(jp);
}
public static void main(String[] args) {
PeopleGUI p = new PeopleGUI();
}
}
我希望JTextFields不能適應窗口的大小。
當前,它看起來像這樣: 。
但它看起來應該像這樣: 。
通過將3個面板(每個面板都具有居中的FlowLayout
)放在一個單獨的GridLayout
列中,可以輕松地復制該布局。
重要的部分是FlowLayout
,它將尊重其顯示的組件的首選大小。
制作GUI時經常使用不同布局的組合 。 每個用戶的想法都是處理整個用戶界面的一小部分布局需求。 這是該答案的屏幕截圖,其中通過標題邊框列出了所使用的布局。
但是,我認為將標簽的RHS和字段的LHS垂直對齊會更好。 為此,請使用單個GridBagLayout
。
您必須使用布局,例如BoxLayout。 您將在此處找到一些文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.