잘못한거 없는거같은데..일반 마우스 mouved에서 잘 좌표 찍어줍니다.
근데...거기서 특정 좌표에 가면 그 좌표에 그림을 출력하고자 하는데 안되네요...
그림이 안되길레 JLable로 shingu라는 Jabel을 출력하려고 해도 안됩니다...
뭐가 빠져서 안되는건지 봐주시면 감사하겠습니다..
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseMotionAdapter;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import com.sun.glass.events.MouseEvent;
public class LabelEx extends JFrame {
public LabelEx() {
super("label ex");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c= getContentPane();
c.setLayout(null);
c.setBackground(Color.white);
JLabel textLabel=new JLabel("제임스 고슬링입니다. " );
textLabel.setSize(50, 50);
textLabel.setLocation(50, 50);
c.add(textLabel);
ImageIcon icon=new ImageIcon("image/jiha.jpg");
JLabel imageLabel=new JLabel(icon);
imageLabel.setLocation(150, 150);
imageLabel.setSize(200, 200);
imageLabel.addMouseListener(new MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent e){
System.out.println(e.getX()+"y : "+e.getY());
}
});
imageLabel.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(java.awt.event.MouseEvent e){
System.out.println(e.getX()+"y:"+e.getY());
if(e.getX()>138&&e.getX()<153){
System.out.println("seoul nationalUniversity");
JLabel text=new JLabel("shingu");
text.setVisible(true);
text.setLocation(150, 150);
text.setSize(50, 50);
ImageIcon im=new ImageIcon("image/shin.jpg");
JLabel shin= new JLabel(im);
shin.setSize(im.getIconWidth(),im.getIconHeight());
shin.setLocation(150, 50);
c.add(shin);
System.out.println("imageLoading");
}
if(e.getX()>90&&e.getX()<110){
System.out.println("bong-chun station");
}
if(e.getX()>41&&e.getX()<68){
System.out.println("ShinLim station");
}
}
});
c.add(imageLabel);
setSize(700,500);
setVisible(true);
}
public static void main(String[] args) {
new LabelEx();
}
}