次のようにJSpinnerをJOptionPaneに入れようとしています。
SpinnerModel saModel = new SpinnerNumberModel(11, 1, 36, 1);
JSpinner saSpinner = new JSpinner(saModel);
Dimension d = saSpinner.getSize();
d.width = 20;
saSpinner.setSize(d);
Object[] message = { "Choose the key number for sa.", saSpinner };
JOptionPane optionPane = new JOptionPane(message,
JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
JDialog dialog = optionPane.createDialog(frame, "Change Sa Key");
dialog.setVisible(true);
これは機能しますが、唯一の問題は、設定したサイズに関係なく、JSpinnerがダイアログの幅を埋めることです。setPreferredSize()も使ってみました。これを修正するにはどうすればよいですか?