0

JPanel 内で ImageIcon のサイズを変更したいのですが、どのように編集しても次のように機能しない提案がどこにでもあることを知っています。以下は、私の目的に最も近いと思われる多くの試みの1つです。

提供: JButton の ImageIcon のサイズ変更

コードを修正するにはどうすればよいですか?

        JLabel lblFoodPicUrl = new JLabel();
        lblFoodPicUrl.setPreferredSize(new Dimension (50,50));
        lblFoodPicUrl.setIcon (new ImageIcon (PlaceOrder.class.getResource("/Pictures/" + food_Pic_Url + ".jpg")));
        lblFoodPicUrl.setHorizontalAlignment (SwingConstants.CENTER);


        Image img = (Image) lblFoodPicUrl.getIcon();
        Image newing = img.getScaledInstance(20, 20, java.awt.Image.SCALE_SMOOTH);
        lblFoodPicUrl = new ImageIcon (newing);
4

2 に答える 2

2

Darryl のStretch Iconを使用してみてください。ラベルのサイズが変更された場合は、アイコンのサイズを動的に変更する必要があります。

于 2013-10-23T15:47:00.410 に答える
0

これを試して。ラベルとイメージアイコンのサイズを修正しました。パネルサイズは気にならない程度です。

    JLabel lblFoodPicUrl = new JLabel();
    lblFoodPicUrl.setPreferredSize(new Dimension(50, 50));
    lblFoodPicUrl.setIcon(new ImageIcon(getClass().getResource("your path")));
    lblFoodPicUrl.setHorizontalAlignment(SwingConstants.CENTER);
    BufferedImage img = new BufferedImage(lblFoodPicUrl.getIcon().getIconWidth(), lblFoodPicUrl.getIcon().getIconHeight(), BufferedImage.TYPE_INT_RGB);
    Graphics g = img.createGraphics();
    lblFoodPicUrl.getIcon().paintIcon(null, g, 0, 0);
    g.dispose();
    Image newing = img.getScaledInstance(20, 20, java.awt.Image.SCALE_SMOOTH);
    lblFoodPicUrl.setIcon(new ImageIcon(newing));
于 2013-10-23T14:23:15.710 に答える