如何在jbutton数组中获取jbutton的索引?

des4xlb0  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(147)

我创建了一个具有boardwidth和boardheight的jbuttons数组。然后给每个按钮添加一个actionlistener,当我单击它时,我想对该列中的所有jbuttons执行一些操作,但是当我调用getx()方法到btn时,它返回jframe上按钮的x坐标,而不是数组上按钮的索引。我想通过为每个按钮定义一个“row”和“col”变量来解决这个问题,并存储索引,然后以这种方式调用它,但我想知道有没有更简单的方法来实现这一点。

private void initializeBoard() {
            for(int i = 0; i < boardWidth; i++) {
                for(int j = 0; j < boardHeight; j++) {
                    JButton btn = new JButton();
                    btn.setFont(new Font(Font.SANS_SERIF, Font.BOLD,1));
                    board[i][j] = btn;
                    btn.addActionListener(new ActionListener() {

                        public void actionPerformed(ActionEvent e) {
                            if(((JButton)e.getSource()).getText().equals("") && hasWinner == false && tieGame == false){
                                if (currentPlayer == "RED"){
                                    for (int row = boardWidth - 1; row >= 0; row--) {
                                        if(board[row][btn.getX()].getText().equals("")) {
                                            //do stuff
                                            break;
                                        }}}
                                else {
                                    for (int row = boardWidth - 1; row >= 0; row--) {
                                        if(board[row][btn.getX()].getText().equals("")) {
                                            //do stuff
                                            break;
                                        }}}
                                   }
                                }
                            });
                            pane.add(btn);
                }
            }
    }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题