このプログラムは、マウスが画面上で動かされずにクリックされた回数を示すステータスバーをその下に持つウィンドウを作成するとします。マウスを動かしてクリックすると、新しいカウントが開始されるとします。また、さまざまなマウス ボタンを区別します。私が見たチュートリアルとまったく同じようにこのコードに従いましたが、うまくいきません。ステータスバーが変わらないウィンドウが表示されます。
public class Adapter_class extends JFrame {
private String details;
private JLabel statusBar;
public Adapter_class() {
super("Adapter mouse:");
this.statusBar = new JLabel("Default");
add(this.statusBar, BorderLayout.SOUTH);
addMouseListener(new MouseClass());
}
private class MouseClass extends MouseAdapter {
public void MouseClicked (MouseEvent event) {
details = String.format("You clicked the mouse %d", event.getClickCount());
//this is for using a mouse from a mac
if (event.isMetaDown())
details += " with the right mouse button";
else if (event.isAltDown())
details += " with the center mouse button";
else
details += " with the left mouse button";
statusBar.setText(details);
}
}
}
これがメインです:
import javax.swing.JFrame;
public class Adapter_main {
public static void main(String[] args) {
Adapter_class window = new Adapter_class();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(400, 300);
window.setVisible(true);
}
}