Java 按钮排列不正确
我的钮扣排列不正确。。。怎么了Java 按钮排列不正确,java,swing,layout,awt,layout-manager,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 =
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();
}
}
private void加载按钮()
{
如果(活动的拼图!=null)
{
int-devider=5;
整数计数=0;
JToggleButton PuzzButton[]=新的JToggleButton[active_puzzle.getNumberOfPieces()];
for(int row=0;row
以下是输出的照片:
对不起,我会给你我的全部代码,但它更大,我不打算这样做
提前感谢您,如果您需要更多信息,一定要询问
我向那些不想看到我如何解决问题的人解释了这一点
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();
}
}
private void加载按钮()
{
如果(活动的拼图!=null)
{
整数计数=0;
GridLayout Puzzlayout=新的GridLayout(active_puzzle.getRows(),active_puzzle.getColumns(),3,3);
拼图面板。设置布局(拼图布局);
JToggleButton PuzzButton[]=新的JToggleButton[active_puzzle.getNumberOfPieces()];
for(int row=0;row
尝试使用正确填充面板做什么。getcolumns和getrows输出。试试看。在内部循环中输出列和行,并确保这些数字至少正确。您确定行有增量吗?您要找哪种类型的对齐方式。所有的都是水平对齐的。我将它们像网格一样排列在一起,只是它们的大小和数量有所变化,因此布局无法固定。@user2925592,您应该使用revalidate()
not validate(),在将组件添加到面板后只需执行一次即可。因此,重新验证()应该就在重新绘制()之前。网格布局的工作