0

コードは次のとおりです。

JOptionPane pane = new JOptionPane(findArray, JOptionPane.QUESTION_MESSAGE, JOptionPane.DEFAULT_OPTION);
pane.setOptions(new Object[]{findPreviousButton, findNextButton});
final JDialog dialog = pane.createDialog(myJFrame, "Find");
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);

findArray は、JLabel findLabel と JTextField findField で構成されます。myJFrame は JFrame です。findPreviousButton と findNextButton は、デフォルトの「OK」ボタンと「キャンセル」ボタンを置き換える 2 つの JButton です。どちらにもカスタム アイコンがあり、テキストはありません。JDialog ウィンドウは、アイコンを特定のサイズにして、ピクセル化されたように見せています。幅が 60 で高さが 30 になるようにボタンのサイズを変更するにはどうすればよいですか? メソッド .setSize(int, int) は機能せず、.setBounds(int, int, int, int) も機能しません

4

2 に答える 2

0

ボタンの余白を調整すると役立つはずです: http://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractButton.html#setMargin(java.awt.Insets)

于 2013-08-07T19:26:02.067 に答える
0

.setPreferredSize()の代わりに使用することをお勧めします.setSize()。通常、コンポーネントの自然なサイズ (つまり、使用しているレイアウト マネージャーによってどのようにレイアウトされるか) をオーバーライドする場合は、それを最小サイズの設定と共に使用します。レイアウト マネージャーがコンポーネントの自然なサイズを変更している場合は、このpreferredSize()オプションの方が適している可能性があります。ここに違いに関する良いスタックオーバーフローの議論があります:

Java: コンポーネントの setPreferredSize() メソッドと setSize() メソッドの違い

于 2013-08-07T20:08:15.043 に答える