使用JButtons的微型像素艺术程序

时间:2017-04-29 20:48:48

标签: java swing jframe jbutton

我刚刚进入Java并且仍然是一个菜鸟。我使用for循环创建了一个9x9的JPanel面板来添加按钮。我如何创建一个动作监听器,允许我选择不同的颜色,单击时将显示为JButton的背景颜色?我试图制作一个微型像素艺术节目。

1 个答案:

答案 0 :(得分:0)

它看起来像这样。在此示例中,[row][col]引用网格的行和列值。一定要创建计数器(private static int counter = 0;)。否则你会得到一堆错误。这是代码:

JBut[row][col].addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

        typeOfButton button = (typeOfButton) e.getSource();
        int row = button.getRow();
        int col = button.getCol();

        counter++;
        if (counter == 1) {
            JBut[row][col].setBackground(Color.RED);
        } 
        else if (counter == 2) {
            JBut[row][col].setBackground(Color.ORANGE);
        } 
        else if (counter == 3) {
            JBut[row][col].setBackground(Color.YELLOW);
        } 
        else if (counter == 4) {
            JBut[row][col].setBackground(Color.GREEN);
        } 
        else if (counter == 5){
            JBut[row][col].setBackground(Color.BLUE);
        } 
        else if (counter == 6){
            JBut[row][col].setBackground(Color.MAGENTA);
        } 
        else {
            JBut[row][col].setBackground(Color.BLACK);
            counter = 0; //makes color cycle repeat, starting with red
        } //end else
    } //end actionPerformed
}); //end ActionListener

显然,执行此操作的简单方法是将巨型if语句放入名为determineColor()的新方法或类似的方法中。