1

Java プログラムのラベルを画像に設定しようとしています。ただし、.bmp 画像では機能しないようです。

画像を .bmp から同じファイル名の .jpg に変換できるコンバーターを探しています。このコンバーターは、変換する必要があるイメージの名前と場所を持つ Java プログラムによって制御される必要があります。

私はこれに何時間も費やしてきたので、どんな助けも大歓迎です:P

ありがとう

*編集: プログラムは、複数のコンピューターで動作できるように、プログラムと一緒にパッケージ化できる必要があります (つまり、自分のコンピューターにインストールするものではありません)。画像ファイル名をパラメーターとして受け取り、それを.jpgに変換する.exeを見つけたいと思っています

4

1 に答える 1

5

ImageIO#read同様に使用します(Java 1.4以降):

ImageIcon icon = new ImageIcon(ImageIO.read(filename));

JLabel label = new JLabel(icon);

Java 1.4 未満の場合は、image4jを使用します

アップデート:

これが私が作った例です:

ここに画像の説明を入力

import java.awt.Dimension;
import java.awt.Image;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;

public class JLabelBmpTest {

    public JLabelBmpTest() throws  MalformedURLException, IOException {
        initComponents();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    new JLabelBmpTest();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        });
    }

    private void initComponents() throws MalformedURLException, IOException {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Image background = ImageIO.read(new URL("http://www.3drealms.com/zerohour/images/zhbackground.bmp"));
        final ImageIcon ii = new ImageIcon(background);

        frame.add(new JLabel(ii) {
            @Override
            public Dimension getPreferredSize() {
                return new Dimension(ii.getIconWidth(), ii.getIconHeight());

            }
        });

        frame.setResizable(false);
        frame.pack();
        frame.setVisible(true);
    }
}

参照:

于 2012-10-19T20:55:30.457 に答える