Record/JAVA
[GUI] MouseAdapter
Mizzle
2013. 7. 18. 12:07
MouseAdapter
소스코드
//MouseDetailsFrame.java import java.awt.BorderLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JLabel; public class MouseDetailsFrame extends JFrame{ private String details;//문자 private JLabel statusBar;//라벨 public MouseDetailsFrame(){ super("Mouse clicks and buttons"); statusBar = new JLabel("Click the mouse"); add(statusBar , BorderLayout.SOUTH); MouseClickHandler handler = new MouseClickHandler(); this.addMouseListener(handler); //this.addMouseListener( new MouseClickHandler() ); } private class MouseClickHandler extends MouseAdapter{ public void mouseClicked(MouseEvent event){ int xPos = event.getX();//마우스의 x-position값 받아옴 int yPos = event.getY();//마우스의 y-position값 받아옴 details = String.format("Clicked %d time(s)", event.getClickCount() ); if( event.isMetaDown() ){//오른쪽 마우스 버튼 details += " with right mouse button"; }else if( event.isAltDown() ){//가운데 마우스 버튼 details += " with center mouse button"; }else{ details += " with left mouse button"; } statusBar.setText(details); } } }
//MainActivity.java import javax.swing.JFrame; public class MainActivity { public static void main(String[] args) { // TODO Auto-generated method stub MouseDetailsFrame mouseDetailsFrame = new MouseDetailsFrame();//LabelFrame 생성 mouseDetailsFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mouseDetailsFrame.setSize(300,200);//프레임 크기 지정 mouseDetailsFrame.setVisible(true);//프레임 표시 } }
결과




반응형