对JButton Icon进行抗锯齿处理

时间:2018-05-07 15:41:10

标签: java swing jbutton imageicon antialiasing

我试图在一些JButtons图标上获得一些抗锯齿功能。我该如何处理?现在我正在初始化一些图标,并在我的JButtons上使用自制的重新制作的方法re()

private void initializeIcons() {
        blackStone = new ImageIcon("src/assets/black.png");
        blackStone.setImage(blackStone.getImage().getScaledInstance(70, 70, Image.SCALE_DEFAULT));

        whiteStone = new ImageIcon("src/assets/white.png");
        whiteStone.setImage(whiteStone.getImage().getScaledInstance(70, 70, Image.SCALE_DEFAULT));

        blackDame = new ImageIcon("src/assets/black_dame.png");
        blackDame.setImage(blackDame.getImage().getScaledInstance(70, 70, Image.SCALE_DEFAULT));

        whiteDame = new ImageIcon("src/assets/white_dame.png");
        whiteDame.setImage(whiteDame.getImage().getScaledInstance(70, 70, Image.SCALE_DEFAULT));
    }


private void re() {
        for (int i = 0; i <= 7; i++) {
            for (int j = 0; j <= 7; j++) {
                if (fieldbutton[i][j].hasStone()) {
                    if (fieldbutton[i][j].getStone().isBlack() && !fieldbutton[i][j].getStone().isDame()) {
                        fieldbutton[i][j].setIcon(blackStone);
                    } else if (fieldbutton[i][j].getStone().isBlack() && fieldbutton[i][j].getStone().isDame()) {
                        fieldbutton[i][j].setIcon(blackDame);
                    } else if (!fieldbutton[i][j].getStone().isBlack() && fieldbutton[i][j].getStone().isDame()) {
                        fieldbutton[i][j].setIcon(whiteDame);
                    } else if (!fieldbutton[i][j].getStone().isBlack() && !fieldbutton[i][j].getStone().isDame()) {
                        fieldbutton[i][j].setIcon(whiteStone);
                    }
                } else
                    fieldbutton[i][j].setIcon(null);
            }
        }
}

提前致谢!

0 个答案:

没有答案