1

こんにちは、JFileChooser で撮影した画像をラベルに貼り付けようとしました。しかし、それは私が望むようには機能しませんでした。これが私が試したコードです。

import java.io.*;
import javax.swing.*;
import java.util.*;


public class Main {

    public static void main(String[] args) {


        JFileChooser chooser = new JFileChooser();

        JFrame frame = new JFrame("My Frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel panel = new JPanel();

        chooser.showOpenDialog(null);

        File file = chooser.getSelectedFile();
        ImageIcon icon = new ImageIcon(file.getName());
        JLabel label = new JLabel(icon);

//        JLabel label2 = new JLabel("try try catch it");

        panel.add(label);
//        panel.add(label2);


        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);


    }

}

なにか提案を?

4

2 に答える 2

1

近い。

見ると、選択したファイルの名前が表示さfile.getName()れることがわかります。ファイルの名前ではなく、パスを探しています。

Fileパスを取得する方法については、API を参照できるかどうかを確認してください。

于 2010-06-28T21:40:09.430 に答える
1

file.getPath()の代わりに使用する必要がありfile.getName()ます。また、EDT で塗装作業を行う必要があります。

于 2010-06-28T21:43:01.737 に答える