删除JButton边框并在里面安装ImageButton

时间:2016-01-30 15:29:33

标签: java swing jframe jbutton

我有一个网格布局,我在其上添加了100个Jbuttons。现在我要求按钮没有任何边距或间隙。我试过的是:

private void initializeBoard() {
    container = getContentPane();
    container.setLayout(new GridLayout(1,2));
    boardPanel = new JPanel(new GridLayout(10,10));
    dataPanel = new JPanel();

    int index = 0;
    for(int i=0;i<BOARD_SIZE;i++){
        for(int j=0;j<BOARD_SIZE;j++){
            squares[i][j] = new JButton(String.valueOf(numbers[index]));
            squares[i][j].addActionListener(this);

            squares[i][j].setMargin(new Insets(0,0,0,0));
            squares[i][j].setBorder(BorderFactory.createEmptyBorder());
            squares[i][j].setBorderPainted(false);
            squares[i][j].setContentAreaFilled(false);
            squares[i][j].setFocusPainted(true);
            squares[i][j].setIcon(new ImageIcon("images/board/"+numbers[index++]+".jpg"));

            boardPanel.add(squares[i][j]);
        }
    }
    boardPanel.setBorder(BorderFactory.createEmptyBorder());
    container.add(boardPanel);
    container.add(dataPanel);
}

但结果是这样的。我仍然在按钮之间找到垂直间隙。 Current Result

我需要消除这些差距,以便在按钮之间没有间隙,并让按钮代表整个电路板。

提前致谢。

EDIT 得到它。我使用的图像不够宽,无法填充这些区域。谢谢。

2 个答案:

答案 0 :(得分:0)

得到它。我使用的图像不够宽,无法填充这些区域。谢谢。

答案 1 :(得分:-1)

您还可以使用setVgap(0),setHgap(0)将垂直和水平间隙设置为零。

干杯!