繁体   English   中英

如何减小 JCheckBox 图标的大小?

[英]How do I reduce the size of the JCheckBox icon?

我需要减小没有文本的 JCheckBox 项目的大小。 到目前为止,我尝试覆盖方法getPreferredSize()getMaximumSize() 此外,设置字体大小或 JCheckBox 本身的大小不会引起任何更改。 有没有办法实现这一目标?

如果您正在谈论添加到 JCheckBox 的图标,那么最好从调整原始图像大小的新图像创建一个新图标。 您可以通过调用yourImage.getScaledInstance(...);对 Image 执行此操作yourImage.getScaledInstance(...); 方法。 获得新图像后,创建一个new ImageIcon(newImage)并将其与 JCheckBox 一起使用。

例如

Image oldImage = oldIcon.getImage();
Image newImage = oldImage.getScaledInstance(newWidth, newHeight, 
      Image.SCALE_DEFAULT);
Icon newIcon = new ImageIcon(newImage);
checkBox.setIcon(newIcon);

对于JCheckBox对象, getPreferredSizegetMaximumSize只返回分别分配给preferredSizemaximumSize的值。 如果要更改这些值,请改用setPreferredSizesetMaximumSize

jCheckBox.setPreferredSize(new Dimension(100, 300));

和/或:

jCheckBox.setMaximumSize(new Dimension(200, 600));

你可以像这样覆盖paint函数:

final JCheckBox cb = new JCheckBox("",autoChangeTab) {
    @Override
    public void paint(Graphics g) {
        Graphics2D g2d = (Graphics2D) g;
        g2d.scale(.9, .9);
        super.paint(g);
    }
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM