이미지 로드할때의 ImageIcon(절대주소) 를요~ 파라미터로 받는 경우요^^* 제발좀 도와주세요ㅠㅠ
핫다홍
사진에서 보는것과 같이
오른쪽의 List에서 마우스로 눌러진 아이템을
센터패널에 그림을 띄우는 것입니다..
그런데 마우스 핸들러에서 인식한 절대경로를
파라미터로 넘겨주어도 안되는거있죠..
좀 도와주세요~^^;;;;;;;;
//http://java.sun.com/j2se/1.4.2/docs/api/java/awt/List.html
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ImageTest extends JFrame implements ActionListener,MouseMotionListener,MouseListener{
//, MouseMotionListener
Panel2 p2, p3;
JButton bt1, bt2, bt3;
TextField tf = new TextField();
TextArea both = new TextArea(, 10, 10, TextArea.SCROLLBARS_BOTH);
List s_List = new List();
public ImageTest(){
JPanel mainp = new JPanel(new BorderLayout());
JPanel p1 = new JPanel();
p2 = new Panel2();
p3 = new Panel2();//----------p1 north
bt1 = new JButton(사진 보기);
bt1.addActionListener(this);
p1.add(bt1);//----------p3 south
bt2 = new JButton(검색하기 );
bt2.addActionListener(this);
p3.add(bt2, BorderLayout.WEST);
p3.add(tf, BorderLayout.CENTER);
tf.addActionListener(this);
//----------p2 center
s_List.add(C:\\1.jpg, 1);
s_List.add(C:\\2.jpg, 2);
s_List.add(C:\\3.jpg,3);
//s_List.add(C:\\1.jpg);
s_List.addMouseListener(this);
//String ch = s_List.getSelectedItem();
p2.add(s_List, BorderLayout.EAST );
mainp.add(p1, BorderLayout.NORTH);
mainp.add(p2, BorderLayout.CENTER);
mainp.add(p3, BorderLayout.SOUTH);
this.getContentPane().add(mainp, BorderLayout.CENTER);
WindowListener wnd = new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
};
this.addWindowListener(wnd);
this.setSize(800, 600);
this.setVisible(true);
this.setTitle(Digital Photo Album - 예나,소현);
}
public static void main(String[] args){
new ImageTest();
//new TextFieldWin();
}
public void mousePressed(MouseEvent me) {//Mouse Event
//마우스가 눌러지면 수행 String ch = s_List.getSelectedItem();
p2.addComponent(ch);
//여기서 s_List자체가 절대경로기 때문에, ch받은 아이템을 넘겨주거든요~
}public void actionPerformed(ActionEvent e){
if(e.getSource() == bt1)
{
// p2.addComponent(Data[i]);
}
if(e.getSource() == bt2)
{
}
}
}class Panel2 extends JPanel{
public Panel2(){
this.setLayout(new BorderLayout());
}
public void addComponent(String ch){
//ch=C:\\1.jpg;
JLabel label2 = new JLabel(new ImageIcon((ch)));
this.add(label2, BorderLayout.CENTER);
validate();
}
//여기서 파라미터로 받은 ch로 ImageIcon((ch)) 하면 에러가 나요;;;;;;;
//여기서 저 주석//ch=C:\\1.jpg; 이거를 다시 주석처리를 지우면 되구요;;; 무슨 문제인지 도통 모르겠습니다..//제발좀 도와주세요~
}
-
큰말
ch값이 제대로 넘어오는지요??? ch값을 한번 찍어보심이.....
-
레온
mousePressed 말고 mouseClicked 에서 처리해 보세요!