我JOptionPanes的文字是這樣小的我不知道我怎麼會改變窗格中的文本的字體。另外,我想在兩個按鈕之間設置一個空格。更改字體大小和離開按鍵之間的空間在的JOptionPane
喜歡的東西
|Canecl| |DoneSave| |Save|
我JOptionPanes的文字是這樣小的我不知道我怎麼會改變窗格中的文本的字體。另外,我想在兩個按鈕之間設置一個空格。更改字體大小和離開按鍵之間的空間在的JOptionPane
喜歡的東西
|Canecl| |DoneSave| |Save|
我猜你的意思是你的JButton
S上的字體內JOptionPane
太小。
爲此,我建議使用Swing Utils由達里爾·伯克。現在您可以輕鬆地完成例如
for (JButton button : SwingUtils.getDescendantsOfType(JButton.class, pane)) {
button.setFont(new Font("Verdana", Font.BOLD, 32));
}
設置所有JButton
S上的字體JOptionPane
窗格內。
如果你想設置的JOptionPane
消息本身的字體,使用例如
UIManager.put(
"OptionPane.messageFont",
new FontUIResource(new Font("Verdana", Font.BOLD, 32))
);
關於這個問題「的按鈕間距」:我不知道是否可以不延長&完成製作定製JOptionPane
自己。
你不能只指定2個按鍵之間的間距開出3(根據OP的問題),但你可以增加所有按鍵之間的間距大小:
JPanel buttonPanel = (JPanel) myOptionPane.getComponent(1);
BasicOptionPaneUI.ButtonAreaLayout lm2 = (BasicOptionPaneUI.ButtonAreaLayout) buttonPanel.getLayout();
lm2.setPadding(20);
lm2.setSyncAllWidths(false); // buttons will vary in size as needed.
或許是這樣的:
lm2.setPadding(lm2.getPadding() * 2) // double the spacing between ALL buttons.
如果只是2個按鈕,然後使用這些佈局管理電話,你可以達到理想的效果。
但是您需要實現自己的JDialog,你控制它自己的JPanel的佈局按鍵之間不同大小的空間。
一個JOptionPane的由2個JPanels ......一個用於信息(和圖標)本身,以及一個用於按鈕,這就是爲什麼我們getComponent(1)以上。
我知道這個問題是4歲,但我做了這個答案,因爲我今天也有類似的需要,不能在任何地方堆棧溢出或其他地方找到答案。
非常感謝! – 2010-08-25 13:00:48