Sto provando a impostare un'icona su una JLabel da una cartella di immagini ogni volta che un elemento viene selezionato da un JComboBox. Il nome degli elementi in JComboBox e il nome delle immagini nella cartella sono gli stessi. Pertanto, ogni volta che un elemento viene selezionato da JComboBox, l'immagine corrispondente con lo stesso nome deve essere impostata come icona su JLabel. Sto cercando di fare qualcosa di simile.Come impostare Icon su una JLabel da un'immagine da una cartella?
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;
}
}
ho pensato che il problema è in "C: \ Users \ xerof_000 \ Immagini \ tmspictures \" Ho provato ad utilizzare "C:/Users/xerof_000/Immagini/tmspictures /", ma anche questo non ha funzionato. E qualunque cosa faccia, mostra solo "Immagine non trovata" su JLabel.
Si prega di dare un'occhiata a questa risposta di mio, per come [aggiungere le immagini nella cartella risorsa] (http://stackoverflow.com/a/9866659/1057230), che la forza sarà di qualche aiuto sull'argomento :-) L'ultimo collegamento ti guiderà sicuramente, se fai tutto manualmente senza utilizzare alcun IDE. Se qualcosa non è ancora chiaro, si prega di chiedere :-) –
Perché fare qualcosa di così complicato quando si tratta di 'nuovo ImageIcon (" C: \\ Users \\ xerof_000 \\ Pictures \\ tmspictures \\ "+ name +" .jpg ") ; 'funzionerà immediatamente? (Anche se questo non è molto mantenibile in quanto funzionerà solo sul tuo computer, sono d'accordo). –
@GagandeepBali Lo sto facendo da NetBeans quindi ho controllato il collegamento NetBeans. Il fatto è che sto aggiungendo anche delle immagini alla cartella delle immagini durante il runtime del file .jar.E non posso aggiungere immagini al pacchetto nel file .jar mentre eseguo il file .jar non posso? Quindi c'è un modo per leggere le immagini da una cartella in cui viene eseguito il file .jar? –