我的问题: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);
这对JSpinner的宽度没有影响。
如何更改JSpinner的宽度或者这是一个FlowLayout问题?
谢谢
答案 0 :(得分:9)
您可以通过以下三个步骤完成所有操作:
获取微调器的编辑器组件:
Component mySpinnerEditor = mySpinner.getEditor();
获取微调器编辑器的文本字段:
JFormattedTextField jftf = ((JSpinner.DefaultEditor) mySpinnerEditor).getTextField();
将默认大小设置为文本字段:
jftf.setColumns(your_desired_number_of_columns);
答案 1 :(得分:0)
设置首选和最小尺寸:
RandomSpinner = new JSpinner(tempModel);
int w = RandomSpinner.getWidth(); int h = RandomSpinner.getHeight();
Dimension d = new Dimension(w * 2, h);
RandomSpinner.setPreferredSize(d);
RandomSpinner.setMinimumSize(d);
如果框架中有足够的空间,设置首选尺寸就足够了。