更改JSpinner尺寸(宽度)

UTS*_*ent 5 java swing jspinner flowlayout

我的问题:JSpinner非常瘦,我只能在最后一个位置看到字符串上的字符.

例如:"你好"我只看到'o'.

我在JFrame的BorderLayout.SOUTH中有一个JPanel

JPanel的布局管理器是默认的 - 如果我被误导,请纠正我 - 一个FlowLayout管理器.

前面提到的JPanel中还有多个组件.

我试过了

RandomSpinner = new JSpinner(tempModel);
int w = RandomSpinner.getWidth();   int h = RandomSpinner.getHeight();
RandomSpinner.setSize(new Dimension(w * 2, h));
add(RandomSpinner);
Run Code Online (Sandbox Code Playgroud)

这对JSpinner的宽度没有影响.

我应该如何更改JSpinner的宽度或者这是一个FlowLayout问题?

谢谢

小智 9

您可以通过以下三个步骤完成所有操作:

  1. 获取微调器的编辑器组件:

    Component mySpinnerEditor = mySpinner.getEditor();

  2. 获取微调器编辑器的文本字段:

    JFormattedTextField jftf = ((JSpinner.DefaultEditor) mySpinnerEditor).getTextField();

  3. 将默认大小设置为文本字段:

    jftf.setColumns(your_desired_number_of_columns);