【发布时间】:2012-03-09 18:36:15
【问题描述】:
尝试将 mouseAdapter 添加到 JButton 以右键单击以标记单元格。问题是当我将它实例化到按钮上时,它不会让我这样做。也许是因为它已经有一个动作监听器?我不太确定。任何帮助表示赞赏。我正在创建一个扫雷游戏,仅供参考。
button = new JButton[size][size];
ButtonListener bl = new ButtonListener();
for (int r = 0; r < size; r++) {
for (int c = 0; c < size; c++) {
button[r][c] = new JButton("");
button[r][c].addActionListener(bl);
button[r][c].addMouseListener (new MouseAdapter());``
// error message: cannot instantiate the type MouseAdapter
panel.add(button[r][c]);
最终如果可行,我想将其融入游戏中:
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == 3) { // if right click
button.setText("F");
button.getModel().setPressed(false);
// button.setEnabled(true);
} else {
button.setText("X");
button.getModel().setPressed(true);
// button.setEnabled(false);
}
}
});
【问题讨论】:
-
@deporter 你在说什么?这是这家伙的第一个问题……
-
编译器是你的朋友:你为什么要注册一个 do-nothing-mouseListener :-)
标签: java swing jbutton right-click mouselistener