Wie set-Icon auf ein JLabel von einem Bild aus einem Ordner?

Ich versuche, legen Sie ein Symbol, um ein JLabel von einem Ordner mit Bildern, wenn ein Element ausgewählt ist aus einer JComboBox. Der name des items in der JComboBox und den Namen der Bilder in dem Ordner sind die gleichen. Also, wenn ein Element ausgewählt ist aus der JComboBox, das entsprechende Bild mit dem gleichen Namen sollte festgelegt werden, als ein Symbol, um das JLabel. Ich versuche, so etwas zu tun.

private void cmb_movieselectPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt){                                                             
        updateLabel(cmb_moviename.getSelectedItem().toString());
}





protected void updateLabel(String name) {
        ImageIcon icon = createImageIcon("C:\\Users\\xerof_000\\Pictures\\tmspictures\\" + name + ".jpg");
        if(icon != null){
            Image img = icon.getImage(); 
            Image newimg = img.getScaledInstance(lbl_pic.getWidth(), lbl_pic.getHeight(),  java.awt.Image.SCALE_SMOOTH);
            icon = new ImageIcon(newimg);
            lbl_pic.setIcon(icon);
            lbl_pic.setText(null);
        }
        else{
            lbl_pic.setText("Image not found");
            lbl_pic.setIcon(null);
        }
    }





protected static ImageIcon createImageIcon(String path) {
        URL imgURL;
        imgURL = NowShowing.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            return null;
        }
    }

Dachte ich, das problem ist in "C:\Users\xerof_000\Pictures\tmspictures\" ich habe versucht, mit "C:/Users/xerof_000/Pictures/tmspictures/" aber auch das hat nicht funktioniert. Und das was ich Tue, zeigt es nur "Image not found" auf dem JLabel.

Bitte haben Sie einen Blick auf diese Antwort von mir, Wie Sie Bilder hinzufügen, um die Ressource-Ordner, das möglicherweise von einigen helfen, die auf das Thema 🙂 Der Letzte link führt Sie sicherlich, wenn Sie tun, alles manuell ohne Verwendung von IDE. Wenn etwas unklar ist, bitte Fragen 🙂
Warum etwas so kompliziert, wenn Sie nur new ImageIcon("C:\\Users\\xerof_000\\Pictures\\tmspictures\\" + name + ".jpg"); sofort funktionieren? (das ist zwar nicht sehr wartungsfreundlich, wie Sie es nur auf Ihrem computer arbeiten, Stimme ich zu).
Ich Tue es aus NetBeans so ich habe in der NetBeans-link. Die Sache ist die, ich bin auch das hinzufügen von Bildern zu einem Ordner "Bilder", die während der Laufzeit der .jar-Datei. Und ich kann keine Bilder hinzufügen, um das Paket in die .jar-Datei während der Ausführung der .jar-Datei kann ich? So ist es eine Möglichkeit, ich kann Lesen von Bildern aus einem Ordner, wo die .jar-Datei ausgeführt?
Danke, dass hat Arbeit für mich. Aber gibt es eine Möglichkeit, wo ich Lesen kann das die Bilder aus einem Ordner, wo die .jar-Datei ausgeführt?
Ja, wenn die Ordner im classpath, oder ist Kind-Ordner einen Ordner auf dem classpath. Vorausgesetzt, Sie haben einen Ordner root mit einem Glas foo.jar und ein Bild bar.png haben, wenn Sie Ihr Programm mit java -cp .;foo.jar (Windows)/java -cp .:foo.jar (Unix/Linux/MacOS), können Sie den Zugriff auf die Datei mit getResource("/bar.png");. Sie können auch direkt eingebettet, die Datei in die jar

InformationsquelleAutor Raed Shahid | 2013-03-03

Schreibe einen Kommentar