Tôi đã tìm kiếm tất cả các vấn đề như thế này nhưng tôi không thể tìm thấy giải pháp.java jsextfield sizing vấn đề không hợp lý
public class FormPanel extends JPanel
{
private JLabel namelabel;
private JLabel occlabel;
private JTextField nametext;
private JTextField occtext;
private JButton okButton;
public FormPanel() {
Dimension dim = getPreferredSize();
dim.width = 250;
setPreferredSize(dim);
namelabel = new JLabel("Name : ");
occlabel = new JLabel("Occupation : ");
nametext = new JTextField();
nametext.setPreferredSize(new Dimension(80,20));
occtext = new JTextField();
occtext.setColumns(20);
okButton = new JButton("OK");
Border inner = BorderFactory.createTitledBorder("Add Person : ");
Border outer = BorderFactory.createEmptyBorder(5,5,5,5);
setBorder(BorderFactory.createCompoundBorder(inner,outer));
setLayout(new GridBagLayout());
GridBagConstraints gc = new GridBagConstraints();
gc.gridx = 0;
gc.gridy = 0;
gc.weightx = 1;
gc.weighty = 1;
gc.fill = GridBagConstraints.NONE;
add(namelabel,gc);
gc.gridx = 1;
gc.gridy = 0;
add(nametext,gc);
gc.gridy = 1;
gc.gridx = 0;
add(occlabel,gc);
gc.gridy = 1;
gc.gridx = 1;
add(occtext,gc);
gc.gridy = 2;
gc.gridx = 1;
add(okButton,gc);
}
}
nametext
và occtext
là vô cùng nhỏ. Tôi đã thử JTextField mới (20) và phiên bản chuỗi, Tôi đã thử setPreferredSize như trên lớp, và tôi cũng đã thử setColumn nhưng không có công cụ nào trong số đó hoạt động.
wow, Nó hoạt động khá tốt, cảm ơn sự quan tâm của bạn. –
@VivianMaya: vui vì nó đã giúp ích. Để thấy điều này trong hành động, chỉ cần kích thước lại GUI của bạn với JPanel ở trên bằng chuột và xem JTextFields của bạn co lại, nhưng sau đó ở một số kích thước quan trọng, nhận được rất nhỏ và không sử dụng được. –