从JButton中删除三个“……”?

嘿,我正在创建一个计算器程序,带有一些小按钮,我希望其中一个按钮上有“Ans”,但每当我使JButton小于50,50时,它将显示三个点。 “…”,如何删除这些点并显示给出的正常文本?

可能这是因为按钮的边距太大了。

尝试这个:

myButton.setMargin(new Insets(0, 0, 0, 0)); 

你也可以关闭边框:

 button.setBorder(null); 

不要设置按钮的首选大小。 使用按钮的首选大小,让布局管理器布局组件。 首选大小可确保所有文本在不同的外观和感觉上正确显示。

此代码试图解释为什么布局和首选大小如此重要。 重要的部分在于输入/输出。

TestGuiSize.java

 import java.awt.*; import javax.swing.*; class TestGuiSize { public static void addButtonToPanel(JPanel panel, String label) { JButton button = new JButton(label); button.setMargin(new Insets(1,1,1,1)); panel.add(button); } public static void main(String[] args) { JPanel p = new JPanel(new GridLayout(4,3,3,3)); addButtonToPanel(p, "7"); addButtonToPanel(p, "8"); addButtonToPanel(p, "9"); addButtonToPanel(p, "/"); addButtonToPanel(p, "4"); addButtonToPanel(p, "5"); addButtonToPanel(p, "6"); addButtonToPanel(p, "*"); addButtonToPanel(p, "1"); addButtonToPanel(p, "2"); addButtonToPanel(p, "3"); addButtonToPanel(p, "-"); addButtonToPanel(p, "0"); p.add(new JLabel("")); addButtonToPanel(p, "Del"); addButtonToPanel(p, "+"); Dimension d = p.getPreferredSize(); System.out.println( "Preferred Size: " + d.getWidth() + "x" + d.getHeight()); JOptionPane.showMessageDialog(null, p); } } 

输入输出

 prompt> java TestGuiSize Preferred Size: 113.0x105.0 prompt>java -Dswing.plaf.metal.controlFont=Dialog-22 TestGuiSize Preferred Size: 169.0x157.0 prompt>java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel TestGuiSize Preferred Size: 93.0x93.0 prompt>java -Dswing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel TestGuiSize Preferred Size: 205.0x129.0 prompt> 

运行时参数只是可能使应用程序的GUI代码下沉的运行之间差异的冰山一角。 布局旨在处理这些差异。

您可以更改按钮上字体的大小。 看到这些链接:

设置字体大小

增加字体大小 (可以轻松更改以减小字体大小)

使用setMargin(Insets m)调整JButton边框和标签之间的空间。 默认值为(2, 14, 2, 14) 。 为了最大化标签的可用空间(并完全去除点),您可以使用类似的东西

 myButton.setFont(new Font("Tahoma", Font.BOLD, 11)); myButton.setMargin(new Insets(0, -1, 0, -20)); myButton.setHorizontalAlignment(SwingConstants.LEFT);