java - JTextField 宽度

标签 java swing jtextfield layout-manager

文本字段比我想要的更宽,我尝试更改 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/

相关文章:

java - JApplet - super.paint();导致闪烁

java - 使用 JButtons 将文本插入到选定的 JTextfield

java - Swing 中组件的格式设置

java - Hibernate UUIDTypeDescriptor$ToBytesTransformer.parse() 方法中出现意外的 ArrayIndexOutOfBoundsException

java - 添加对父 jar 的依赖时构建 Maven 项目

java - 我需要使用数据库中的值创建 XYLineChart (Java(Mysql)

java - JButton 布局设置

java - 如何更新.getText()?

java - MIDI Java 生成困惑的声音

java - 如何获得可被第一个随机数整除的偶数/奇数随机数