1

次のコード行には、[はい]と[いいえ]の2つのボタンがあるダイアログボックスが表示されます。これらの2つのボタンを実際のデフォルトサイズの少なくとも3倍にします。カスタマイズされたJFrameを作成し、ボタンを追加してサイズを設定できることは理解していますが、ダイアログボックスが多数あります。実用的ではないようです。

JOptionPane.showConfirmDialog(null, "Did you eat", "Confirmation", JOptionPane.YES_NO_OPTION);

ボタンを大きくしたいのは、ダイアログボックスのフォントサイズを大きくしたためです(1行のコードがコード内のすべてのダイアログボックスに影響を与えました)。そして、ボタンの小さい(デフォルトの)サイズは、言葉遣いに比べてぎこちなく見えます。

では、JOptionPaneダイアログボックスのボタンのサイズを操作するにはどうすればよいですか?

4

2 に答える 2

3

JOptionPaneのインスタンスを作成し、新しいPreferredSize()を設定する必要があります。setSize()の使用は期待どおりに機能しません。例えば:

public static void showMessageBox(final String strTitle, final String strMessage)
{
        //Redone for larger OK button
         JOptionPane theOptionPane = new JOptionPane(strMessage,JOptionPane.INFORMATION_MESSAGE);
         JPanel buttonPanel = (JPanel)theOptionPane.getComponent(1);
        // get the handle to the ok button
        JButton buttonOk = (JButton)buttonPanel.getComponent(0);
        // set the text
        buttonOk.setText(" OK ");
        buttonOk.setPreferredSize(new Dimension(100,50));  //Set Button size here
        buttonOk.validate();
        JDialog theDialog = theOptionPane.createDialog(null,strTitle);
        theDialog.setVisible(true);  //present your new optionpane to the world.
}
于 2011-03-22T09:02:10.987 に答える
2

ダイアログボックスの前にこれを追加すると、ボタンのテキストのフォントが変更されます。これにより、ボタンの寸法が大きくなります。必ずこれをインポートしてください:

import java.awt.Font; 
import javax.swing.plaf.FontUIResource; 




UIManager.put("OptionPane.buttonFont", new FontUIResource(new Font("ARIAL",Font.PLAIN,35))); 

特定のダイアログボックスに別のフォントを使用して、使用していたフォントに戻る場合は、そのコード行を入力してフォントサイズを変更するだけです。次に、ダイアログボックスの後で、元のダイアログボックスを元に戻します。それはあなたがそれをするたびに一種のそれを上書きします。

于 2010-10-29T14:53:49.247 に答える