본문 바로가기
자바

자바 소스코드: 이미지 레이블 드래깅 연습

by 드린 2016. 10. 28.

목차

    반응형
    package javaapplication40;
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    
    class Ex3 extends JFrame{
        ImageIcon i =new ImageIcon("apple.jpg");
        Image im = i.getImage();
        Point sp;
        Ex3(){
            this.setTitle("이미지 레이블 드래깅 연습");
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JLabel la= new JLabel(i);
            this.setLayout(null);
            la.setLocation(50,50);
            la.setSize(i.getIconHeight(), i.getIconWidth());
            
            la.addMouseListener(new MouseListener(){
                @Override
                public void mouseClicked(MouseEvent e) {
                }
    
                @Override
                public void mousePressed(MouseEvent e) {
                    sp=e.getPoint();
                }
    
                @Override
                public void mouseReleased(MouseEvent e) {
                }
    
                @Override
                public void mouseEntered(MouseEvent e) {
                }
    
                @Override
                public void mouseExited(MouseEvent e) {
                }
                
            });
            la.addMouseMotionListener(new MouseMotionListener(){
                @Override
                public void mouseDragged(MouseEvent e) {
                    Point ep = e.getPoint();
                    Component la1=(JComponent)(e.getSource());
                    Point p = la1.getLocation();
                    la1.setLocation(p.x + ep.x - sp.x, p.y + ep.y - sp.y);
                }
                @Override
                public void mouseMoved(MouseEvent e) {
                }
            });
            this.add(la);
            this.setSize(400,400);
            this.setVisible(true);
        }
    }
    public class JavaApplication40 {
    
        public static void main(String[] args) {
            new Ex3();
        }
        
    }
    
    

    <결과>

    2016/10/28 - [자바] - 자바 소스코드: 이미지 위에 원을 드래깅하는 동안 옮기기

    2016/10/28 - [자바] - 자바 소스코드: 이미지위에 버튼 생성

    2016/10/28 - [자바] - 자바 소스코드: 텍스트 필드 예제

    #자바 #자바 소스코드 #이미지 레이블 #마우스 리스너 #마우스 모션 리스너 #명품자바 프로그래밍 실습문제 12장 3번 #자바 예제 #apple

    반응형