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
}