-2
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
jButton3.addMouseListener(new MouseAdapter() {
//String pathName;
@Override
public void mouseClicked(MouseEvent arg0) {
String pathName = null;
FileFilter filter = new FileNameExtensionFilter("JPEG file", "jpg", "jpeg");
fc.setFileFilter(filter);
int response = fc.showOpenDialog(null);
try {
if (response == JFileChooser.APPROVE_OPTION) {
pathName = fc.getSelectedFile().getPath();
System.out.println(pathName); // this works
//JOptionPane.showMessageDialog(null, pathName);
ImageIcon icon = new ImageIcon(pathName);
jLabel4.setIcon(icon);
} else {
// JOptionPane.showMessageDialog(null, "Feel Free to Look Later");
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
System.out.println(pathName); // THIS DOESNOT
}
1)對於一個按鈕,添加一個'ActionListener'而不是一個鼠標監聽器。按鈕監聽器將響應機器人鼠標和鍵盤輸入。 2)研究'變量範圍'這是一個在接近像高級GUI這樣的高級領域之前應該清楚的話題。 3)行..我剛剛注意到(重新點(1)),這個代碼是添加一個鼠標監聽器***內***動作監聽器的動作執行方法!這是沒有意義的。刪除所有提及的鼠標監聽器。 –
你爲什麼要在'ActionListener'裏面的按鈕添加一個'MouseListener'? – MadProgrammer