按钮大小确定为迷你

时间:2013-07-12 15:15:45

标签: java swing jframe jbutton jtabbedpane

基于http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/size.html,目的是创建一个适合JTabbedPane How to add close button to a JTabbedPane Tab?的一个标签的按钮,我在下面构建了代码。它应该在java文档中显示一个迷你按钮,但即使我改变大小,结果也是一样的。我做错了什么?提前致谢

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class buttontest {

public static void main (String[] args){

        buttontest t = new buttontest();

    }

public buttontest(){
    JFrame test = new JFrame();
    JPanel pnlTab = new JPanel();
    JButton btnClose = new JButton("x");
    btnClose.putClientProperty("JComponent.sizeVariant", "mini");

    pnlTab.add(btnClose);
    test.add(pnlTab);
    test.setVisible(true);
            }
}

编辑一个:

try {
        for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (UnsupportedLookAndFeelException e) {
        // handle exception
    } catch (ClassNotFoundException e) {
        // handle exception
    } catch (InstantiationException e) {
        // handle exception
    } catch (IllegalAccessException e) {
        // handle exception
    }

1 个答案:

答案 0 :(得分:1)

  

我想要这样的“x”按钮

您可以使用该图片中的实际图标。

在演示代码的ButtonTabComponent类中,您可以将以下语句添加到TabButton私有类的构造函数中:

setIcon( UIManager.getIcon("InternalFrame.closeIcon") );

然后注释掉类的paintComponent()代码,Icon将被绘制为关闭按钮。