/* MouseDoubleClick.java * ダブルクリックのマウス第一打がシングルクリックと * 判定されてしまうことを体験するプログラム * * [この問題を解決するやり方の例] * [ダブルクリックの間隔を測定するプログラム] */ import java.awt.event.*; import java.awt.*; import javax.swing.*; public class MouseDoubleClick{ public MouseDoubleClick(){ JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container con = frame.getContentPane(); JLabel label = new JLabel ("<html><center>Do<p>Double Click<p>or<p>Single Click</center></html>", JLabel.CENTER); label.addMouseListener(new DoubleClickHandler()); con.add(label); frame.setBounds(100, 100, 300, 300); frame.setVisible(true); } public static void main(String[] args){ new MouseDoubleClick(); } } class DoubleClickHandler extends MouseAdapter{ public void mouseClicked(MouseEvent e){ int count = e.getClickCount(); if (count == 2){ processDoubleClick(); } else if (count == 1){ processSingleClick(); } } void processDoubleClick(){ System.out.println("Wow, Double Click!"); } void processSingleClick(){ System.out.println("Bah, Single Click..."); } }