更改字体大小并在 JOptionPane 中的按钮之间留出空间
我的 JOptionPanes 中的文本太小,我想知道如何更改窗格内文本的字体。另外,我想在两个按钮之间设置一个空格。
像这样的东西
|Canecl| |DoneSave| |Save|
The text in my JOptionPanes are way to small I was wondering how I could change the font of the text inside the pane. Also, I would like to be set a space between two buttons.
Something like
|Canecl| |DoneSave| |Save|
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我猜您的意思是
JOptionPane
内的JButton
上的字体太小。为此,我建议使用 Darryl Burke 的 Swing Utils。现在,您可以轻松地
在
JOptionPane
窗格内的所有JButton
上设置字体。如果您想设置
JOptionPane
消息本身的字体,请使用例如关于“按钮间距”问题:我不知道是否可以在不扩展 & 的情况下完成此操作。自己制作一个自定义的
JOptionPane
。I guess you mean the fonts on your
JButton
s inside theJOptionPane
are too small.For that I suggest using Swing Utils by Darryl Burke. Now you can easily do e.g.
to set the fonts on all
JButton
s inside ofJOptionPane
pane.If you want to set the font of the
JOptionPane
message itself, use e.g.In regard to the "spacing of buttons" question: I don't know if that can be done without extending & make a customized
JOptionPane
yourself.您不能指定 3 个按钮中的 2 个按钮之间的间距(根据 OP 的问题),但您可以增加所有按钮之间的间距大小:
或者可能类似:
如果只有 2 个按钮,则使用这些 LayoutManager调用你就可以达到想要的结果。
然而,对于按钮之间不同大小的空间,您需要实现自己的 JDialog,在其中您自己控制其 JPanel 的布局。
JOptionPane 由 2 个 JPanel 组成...一个用于消息(和图标)本身,另一个用于按钮,这就是我们上面 getComponent(1) 的原因。
我知道这个问题已经有 4 年历史了,但我做出这个答案是因为我今天有类似的需求,并且在堆栈溢出或其他地方找不到答案。
You cannot specify a spacing between just 2 buttons out of 3 (as per the OP's question) but you can increase the size of the spacing between ALL the buttons :
or perhaps something like :
If there were just 2 buttons, then using these LayoutManager calls you could achieve the desired outcome.
However for varying-sized spaces between the buttons you need to implement your own JDialog where you control the layout of its JPanel yourself.
A JOptionPane is made up of 2 JPanels... one for the message (and icon) itself, and one for the buttons, that's why we getComponent(1) above.
I know the question is 4 years old but I made this answer because I had a similar need today and couldn't find the answer ANYWHERE on Stack overflow or elsewhere.