摆动按钮外观和感觉基于大小?

时间:2014-05-25 15:16:49

标签: java swing jbutton

我制作了一个JButton:

JButton button = new JButton("Button");

然后将其添加到JPanel:

panel.add(button, BorderLayout.CENTER);

按钮的照片:

JButton

我注意到了两种不同类型的JButtons:

thin thick

我喜欢标题为“OK”的按钮,有什么方法可以将其设置为按钮的首选样式吗?或者,如果无法做到这一点,是否有办法制作一个固定高度的面板,并将其添加到另一个面板的中心?

感谢。

4 个答案:

答案 0 :(得分:1)

覆盖getPreferredSize()方法,但我绝不建议你使用它。仅在custom painting in AWT and Swing的情况下才需要它。

JButton btn = new JButton(){
    @Override
    public Dimension getPreferredSize(){
        return new Dimension(40, 40);
    }
};

答案 1 :(得分:1)

  1. 您可以设置按钮的边距,让布局管理器确定 的首选尺寸。

    button.setMargin(new Insets(0, 30, 0, 30));
                        // top, left, bottom, right
    
  2. 确保添加按钮的容器具有一个布局管理器,该布局管理器尊重其组件的首选大小。请参阅here,了解哪些布局将不会与首选尺寸相符

答案 2 :(得分:1)

使用符合按钮UI委托计算的首选大小的布局。在此example中,每个按钮都会添加到FlowLayout的面板中;按钮保留其首选大小。相比之下,此example会向GridLayout添加按钮;调整封闭容器的大小以查看效果。引用了一个有用的指南here

答案 3 :(得分:0)

这不是一种风格。您必须定义JButton的大小。

JButton btn = new JButton(String.valueOf(i));
btn.setPreferredSize(new Dimension(40, 40));