在做一個帶頭像的個人通訊錄,其他部份差不多了,就是圖片問題還沒搞定.
用的是ImageIcon, 但是怎麼樣即時更新圖片,從電腦里選了一張圖片后,ImageIcon沒有變化.label的代碼:
JLabel m_PicLabel = new JLabel(""); //圖片的label
m_PicLabel.setBackground(Color.WHITE);
m_PicLabel.setIcon(new ImageIcon(path)); // 圖片的路徑
m_PicLabel.setBounds(292, 49, 156, 125);
add(m_PicLabel);選圖片的代碼:
public void getFile(){
try{
JFileChooser jf=new JFileChooser();
jf.addChoosableFileFilter(new OFileFilter(".jpg","jpg File"));
int result=jf.showOpenDialog(null);
if (result == JFileChooser.APPROVE_OPTION) {
path = jf.getSelectedFile().getPath();
System.out.println("选择的文件地址为:"
+ path);
}
}catch(Exception ex){
ex.printStackTrace();
}
}選圖片的時 path為最新的路徑,但是不能連到 label裏面的.
求高手指教...
用的是ImageIcon, 但是怎麼樣即時更新圖片,從電腦里選了一張圖片后,ImageIcon沒有變化.label的代碼:
JLabel m_PicLabel = new JLabel(""); //圖片的label
m_PicLabel.setBackground(Color.WHITE);
m_PicLabel.setIcon(new ImageIcon(path)); // 圖片的路徑
m_PicLabel.setBounds(292, 49, 156, 125);
add(m_PicLabel);選圖片的代碼:
public void getFile(){
try{
JFileChooser jf=new JFileChooser();
jf.addChoosableFileFilter(new OFileFilter(".jpg","jpg File"));
int result=jf.showOpenDialog(null);
if (result == JFileChooser.APPROVE_OPTION) {
path = jf.getSelectedFile().getPath();
System.out.println("选择的文件地址为:"
+ path);
}
}catch(Exception ex){
ex.printStackTrace();
}
}選圖片的時 path為最新的路徑,但是不能連到 label裏面的.
求高手指教...
或者使用多线程
m_LoadBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
getFile();
repaint();
}
});這是我 load 按鍵的代碼,, 按下后,彈出 filechooser, 選完圖片后再repaint(), 但是沒有用...