import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author Ronald Mak */ public class MouseWindow extends javax.swing.JFrame { private final static String BUTTONS[] = new String[] { "NONE", "LEFT", "MIDDLE", "RIGHT" }; /** * Creates new form MouseWindow */ public MouseWindow() { initComponents(); mousePanel.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent event) { eventLabel.setText("Pressed"); buttonLabel.setText(BUTTONS[event.getButton()]); countLabel.setText(String.valueOf(event.getClickCount())); xLabel.setText(String.valueOf(event.getX())); yLabel.setText(String.valueOf(event.getY())); } } ); mousePanel.addMouseMotionListener(new MouseAdapter() { public void mouseDragged(MouseEvent event) { eventLabel.setText("Dragged"); countLabel.setText(String.valueOf(event.getClickCount())); xLabel.setText(String.valueOf(event.getX())); yLabel.setText(String.valueOf(event.getY())); } } ); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { eventsPanel = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); eventLabel = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); buttonLabel = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); countLabel = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); xLabel = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); yLabel = new javax.swing.JLabel(); mousePanel = new javax.swing.JPanel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); eventsPanel.setLayout(new java.awt.GridLayout(0, 2, 5, 0)); jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel1.setText("Event:"); eventsPanel.add(jLabel1); eventLabel.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N eventsPanel.add(eventLabel); jLabel2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel2.setText("Button:"); eventsPanel.add(jLabel2); buttonLabel.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N eventsPanel.add(buttonLabel); jLabel3.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel3.setText("Click count:"); eventsPanel.add(jLabel3); countLabel.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N eventsPanel.add(countLabel); jLabel4.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel4.setText("X:"); eventsPanel.add(jLabel4); xLabel.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N eventsPanel.add(xLabel); jLabel5.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel5.setText("Y:"); eventsPanel.add(jLabel5); yLabel.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N eventsPanel.add(yLabel); getContentPane().add(eventsPanel, java.awt.BorderLayout.PAGE_END); mousePanel.setBackground(new java.awt.Color(255, 255, 204)); mousePanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); javax.swing.GroupLayout mousePanelLayout = new javax.swing.GroupLayout(mousePanel); mousePanel.setLayout(mousePanelLayout); mousePanelLayout.setHorizontalGroup( mousePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 398, Short.MAX_VALUE) ); mousePanelLayout.setVerticalGroup( mousePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 188, Short.MAX_VALUE) ); getContentPane().add(mousePanel, java.awt.BorderLayout.CENTER); pack(); }// //GEN-END:initComponents /** * @param args the command line arguments */ public static void main(String args[]) { /* * Set the Nimbus look and feel */ // /* * If Nimbus (introduced in Java SE 6) is not available, stay with the * default look and feel. For details see * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(MouseWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(MouseWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(MouseWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(MouseWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // /* * Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new MouseWindow().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel buttonLabel; private javax.swing.JLabel countLabel; private javax.swing.JLabel eventLabel; private javax.swing.JPanel eventsPanel; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JPanel mousePanel; private javax.swing.JLabel xLabel; private javax.swing.JLabel yLabel; // End of variables declaration//GEN-END:variables }