Hejsan!
Har suttigt och klurat ett tag på hur jag ska kunna byta plats på två knappar i min GridLayout. Det jag ska göra är att jag har ett rutnät med nummer och när man trycker på ett nummer som ligger brevid en blank knapp ska dessa två byta plats.
Så ser det ut:
https://dl.dropbox.com/u/5203120/15-game.JPG
Den mest lyckade lösningen funkar vertikalt, men horisontellt hopper den lite som den vill.
Cell är en egenskriven subklass till JButton.
Kod:
private void moveClicked(Cell clickedCell){
Container contentPane = frame.getContentPane();
int clickedY = clickedCell.getYpos();
int clickedX = clickedCell.getXpos();
int clickedIndex = clickedY*clickedX-1;
int emptyIndex = empty.getYpos()*empty.getXpos()-1;
contentPane.setComponentZOrder(empty, clickedIndex);
contentPane.setComponentZOrder(clickedCell, emptyIndex);
clickedCell.movePos(empty.getXpos(), empty.getYpos());
empty.movePos(clickedX, clickedY);
contentPane.revalidate();
}
movePos ändrar bara några värden i classen, den kan ni typ ignorera.
Säg till om jag missat att ta med något vesäntligt!