【问题标题】:Autoresize the image using imageicon on jlabel使用 jlabel 上的 imageicon 自动调整图像大小
【发布时间】:2015-01-21 05:56:27
【问题描述】:

我需要将图像放在 jlabel 上,我的图像存储在 MySql 表中,我使用以下代码获取这些图像 -

byte[] imagedata=rs.getBytes(6); // rs is ResultSet of table
format=new ImageIcon(imagedata);
jLabel15.setIcon(format);

如何调整我想在 jLabel15 上显示的“格式”的大小。

已编辑:表中的图像列是 bigblob 数据类型

【问题讨论】:

  • 你能在标签上显示图片吗??
  • @Muhammad 是的,请查看我使用 jLabel15 显示图像的代码
  • 所以你只是想调整你的图片大小??
  • @Muhammad 是的,问题是图像的大小更大,如何根据 jlabel 调整大小

标签: java swing imageicon


【解决方案1】:

您可以通过以下方式缩放图像,

    Image img = format.getImage().getScaledInstance(50, 50, Image.SCALE_SMOOTH);
    jLabel15.setIcon(new ImageIcon(img));

我已将图像缩放为 50X50,您可以将其缩放到所需的大小

【讨论】:

    【解决方案2】:

    这是一个如何在调整组件大小时调整图像大小的示例。

    import java.awt.Dimension;
    import java.awt.Image;
    import java.awt.event.ComponentAdapter;
    import java.awt.event.ComponentEvent;
    import java.net.URL;
    
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.WindowConstants;
    
    public class ResizedLabelTest {
    
        public static void main(String[] args) throws Exception {
            JFrame frm = new JFrame("ResizedLabel test");
            URL url = new URL("http://i.stack.imgur.com/37IMZ.jpg?s=128&g=1");
            final ImageIcon icon = new ImageIcon(url);
            JLabel label = new JLabel(icon);
            label.addComponentListener(new ComponentAdapter() {
                @Override
                public void componentResized(ComponentEvent e) {
                    JLabel label = (JLabel) e.getComponent();
                    Dimension size = label.getSize();
                    Image resized = icon.getImage().getScaledInstance(size.width, size.height, Image.SCALE_SMOOTH);
                    label.setIcon(new ImageIcon(resized));
                }
            });
            frm.add(label);
            frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frm.pack();
            frm.setVisible(true);
        }
    }
    

    【讨论】:

      【解决方案3】:

      我认为一种方法是覆盖 ImageIcon 的 paintIcon(...) 方法,如果图标本身被调整大小,则调整图像大小。

      【讨论】:

        猜你喜欢
        • 2013-08-23
        • 1970-01-01
        • 2023-04-01
        • 2012-10-06
        • 1970-01-01
        • 1970-01-01
        • 2013-11-22
        • 1970-01-01
        • 2014-05-05
        相关资源
        最近更新 更多