文本字段比我想要的更宽,我尝试更改 new JTextField("", 5)
部分中的数字,但它不会影响我打开框架时的宽度
if (eventSource == bestelOnderdelen) {
ArrayList<Integer> onderdeelNrs = new ArrayList<Integer>();
ArrayList<String> onderdeelOmschrijving = new ArrayList<String>();
for (int i = 0; i < modelOnderdelen.getRowCount(); i++) {
if ((boolean) modelOnderdelen.getValueAt(i, 0)) {
onderdeelNrs.add(Integer.parseInt((String)modelOnderdelen.getValueAt(i, 1)));
onderdeelOmschrijving.add((String) modelOnderdelen.getValueAt(i, 2));
}
}
bestellenOnderdelen = new JPanel();
bestellenOnderdelen.setLayout(new FlowLayout());
bestellenOnderdelen.add(new JLabel("Hoeveel wilt u van de volgende artikelen bestellen?"));
for(Integer a: onderdeelNrs){
bestellenOnderdelen.add(new JLabel(Integer.toString(a)+" "+onderdeelOmschrijving.get(onderdeelNrs.indexOf(a))));
bestellenOnderdelen.add(new JTextField("", 5));
}
if(JOptionPane.showConfirmDialog(null, bestellenOnderdelen) == JOptionPane.YES_OPTION){
}
}
编辑:
我已将布局从 bestellenOnderdelen.setLayout(new BoxLayout(bestellenOnderdelen, BoxLayout.Y_AXIS));
更改为 bestellenOnderdelen.setLayout(new FlowLayout());
但现在我面临另一个问题,如何为面板提供固定宽度和可变高度?
最佳答案
发生这种情况很可能是由于 LayoutManager
造成的。尝试使用不同的布局管理器,例如 GridBagLayout,它更加灵活。您可能还想重写 JTextField
中的 getPreferredSize()
方法。
关于java - JTextField 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22462859/