小编Loi*_*Loi的帖子

右键单击JButton

尝试将一个mouseAdapter添加到JButton以右键单击以标记该单元格.问题是当我将它实例化到按钮上时,它不会让我.也许是因为它上面已经有一个actionlistener?我不太确定.任何帮助表示赞赏.我正在创造一个扫雷游戏,fyi.

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]);
Run Code Online (Sandbox Code Playgroud)

最终如果有效,我想将其融入游戏中:

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);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

java swing right-click jbutton mouselistener

3
推荐指数
1
解决办法
8301
查看次数

标签 统计

java ×1

jbutton ×1

mouselistener ×1

right-click ×1

swing ×1