java - 按钮未正确排列

标签 java swing layout awt layout-manager

我的按钮没有正确排列...出了什么问题?

private void loadPuzzleButtons()
{
    if (active_puzzle != null)
    {
        int devider = 5;
        int count = 0;
        JToggleButton puzzleButton[] = new JToggleButton[active_puzzle.getNumberOfPieces()];
        for(int row = 0; row < active_puzzle.getRows(); row++)
        {
            for(int column = 0; column < active_puzzle.getColumns(); column++)
            {
                puzzleButton[count] = new JToggleButton(new ImageIcon( active_puzzle.getPieces()[count].getPieceImage() ) );
                puzzleButton[count].setLocation(200 + active_puzzle.getPieceWidth() * column + devider * column,
                                                200 + active_puzzle.getPieceHeight() * row + devider * row);
                puzzleButton[count].setContentAreaFilled(false);
                puzzleButton[count].setBorderPainted(false);
                puzzleButton[count].setBorder(null);
                mainPuzzlerPanel.add(puzzleButton[count]);
                mainPuzzlerPanel.validate();
                count++;
            }
        }
        mainPuzzlerPanel.repaint();
    }
}

这是输出的照片:/image/E0YiN.png

enter image description here

抱歉,我会给你我的整个代码,但它更大,而且我不会这样做......

预先感谢您,请询问您是否需要更多信息!

我向那些不想看到我如何解决问题的人揭示了这一点。

private void loadPuzzleButtons()
{
    if (active_puzzle != null)
    {
        int count = 0;
        GridLayout puzzleLayout = new GridLayout(active_puzzle.getRows(),active_puzzle.getColumns(),3,3);
        puzzlePanel.setLayout(puzzleLayout);
        JToggleButton puzzleButton[] = new JToggleButton[active_puzzle.getNumberOfPieces()];
        for(int row = 0; row < active_puzzle.getRows(); row++)
        {
            for(int column = 0; column < active_puzzle.getColumns(); column++)
            {
                puzzleButton[count] = new JToggleButton(new ImageIcon(active_puzzle.getPieces()[count].getPieceImage()));
                puzzleButton[count].setContentAreaFilled(false);
                puzzleButton[count].setBorderPainted(false);
                puzzleButton[count].setBorder(null);
                puzzlePanel.add(puzzleButton[count]);
                puzzlePanel.validate();
                count++;
            }
        }
        puzzlePanel.repaint();
    }
}

最佳答案

尝试使用LayoutManager正确填充面板

关于java - 按钮未正确排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19640710/

相关文章:

java - 在 Eclipse 中调试嵌入式 Jetty 应用程序

Java - 使用 Jena APi - 从 RDF 文件获取数据

java - JList 上的 ListSelectionListener 不起作用

java - 将 Java 应用程序放入 Mac OS X 上的 Dock

html - 在兼容模式下网站布局问题

java - JAVA中通过正则表达式更改字符串值

java - Lucene 与 EclipseLink 集成

java - 可以运行的 swing 工作线程的最大数量是多少

css - 无法使用 CSS 网格布局正确布置行

android - 如何像 setContentView 一样设置 FrameLayout 的内容