Java JFrame - Moving array columns & Rows -
i have downloaded project students have worked @ university , task createa graphical 7x7 array using jframe. window contain letters , these letters moved either right left or left right.
by default vectors moved right left , trying make vectors move left right. problem columns in these vectors being placed if in mirror.
left right:
right left default: 
array7x7.java function - moverowright & moverowleft
package gu4; /*********************************************************** * klass array7x7 som innehåller 7x7 element av typen int. * * elementen lagras en array av typen int[][]. * * * * @author sofia larsson & carl rosengren * ***********************************************************/ public class array7x7 { private int[][] array7x7 = new int[7][7]; /** * tom konstruktor. * initierar den lokala referensvariabeln array7x7 till en tom int[][] */ public array7x7() { } /** * initierar den lokala referensvariabeln array7x7 och fyller den med värdena från thearray * @param thearray */ public array7x7( int[][] thearray ) { this.array7x7 = thearray; } /** * returnerar den lokala referensvariabel array7x7 * @return array7x7 */ public int[][] getarray() { return array7x7; } /** * sätter värdet array7x7 på rad row och kolumn col till värdet value * @param row * @param col * @param value */ public void setelement( int row, int col, int value ) { array7x7[ row ][ col ] = value; } /** * returnerar v�rdet p� rad row och kolumn col * @param row * @param col * @return */ public int getelement( int row, int col ) { return array7x7[ row ][ col ]; } /** * sätter värdena på raden row till samma värden som arrayen therow * @param row * @param therow */ public void setrow( int row, array7 therow ) { for( int = 0; < 7; i++ ) { array7x7[ ][ row ] = therow.getelement( ); } } /** * returnerar v�rdena p� raden row en array7 * @param row * @return */ public array7 getrow( int row ) { array7 temp = new array7(); for( int = 0; < 7; i++ ) { temp.setelement( array7x7[ ][ row ], ); } return temp; } /** * sätter värdena på kolumnen col till samma värden som arrayen thecol * @param col * @param thecol */ public void setcol( int col, array7 thecol) { for( int = 0; < 7; i++ ) { array7x7[ col ][ ] = thecol.getelement( ); } } /** * returnerar v�rdena p� klumnen col en array7 * @param col * @return temp */ public array7 getcol( int col ) { array7 temp = new array7(); for( int = 0; < 7; i++ ) { temp.setelement( array7x7[ ][ col ], ); } return temp; } /** * metoden flyttar vektorn ett steg åt höger. * värdena arrayen ska sättas in i 7x7 matrisens vänsta kollumn * metoden returnerar raden längst åt höger som "försvinner" * @param inputarray - en vektor med 7 positioner * @return tempright - den vektorn som är längst till höger */ public array7 moverowright( array7 inputarray ) { array7 tempright = getrow(0); array7 temp = inputarray; for( int = 0; < 7; i++ ) { if( < 6 ) { setrow( i, temp ); temp = tempright; tempright = getrow( + 1 ); } else setrow( i, temp ); // om det är den sista raden } return tempright; } /** * metoden flyttar vektorn ett steg åt vänster. * värdena arrayen ska sättas in i 7x7 matrisens högra kollumn * metoden returnerar raden längst åt vänster som "försvinner" * @param inputarray - en vektor med 7 positioner * @return templeft - den vektorn som är längst till höger */ ////////////////////////////////////////// public array7 moverowleft( array7 inputarray ) { array7 templeft = getrow(6); array7 temp = inputarray; for( int = 6; > -1; i-- ) { if(i > 0) { setrow( i, temp ); temp = templeft; templeft = getrow( - 1 ); } else setrow( i, temp ); } return templeft; } //////////////////////////////////////////////////////// public void colorchanger(){ (int = 0; < array7x7.length; i++) { (int j = 0; j < array7x7[i].length; j++) { if(array7x7[i][j] == 1){ array7x7[i][j] = color.white; } } } } } textarrayviewer.java
package gu4; import javax.swing.jframe; import javax.swing.joptionpane; import gu4.color; import gu4.colordisplay; public class textarrayviewer extends jframe{ private colordisplay display = new colordisplay(1, 5, color.black, color.white); private bokstaver letters; private jframe frame = new jframe("text test"); private string text = joptionpane.showinputdialog("skriv in din text:"); private array7x7[] arr7x7 = new array7x7[text.length()]; private array7x7[] darrays = new array7x7[5]; private int works = 1; public array7x7[] charreader(){ text = text.touppercase(); (int = 0; < (text.length()); i++) { arr7x7[i] = letters.getchar(text.charat(i)); system.out.println( " " + text.charat(i)); } return arr7x7; } public void chardisplayer(){ for(int d = 0; d < darrays.length; d++){ darrays[d] = new array7x7( new int[][] {{0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}} ); } } public void moveit(){ while (true) { for(int = 0; < arr7x7.length; i++){ arr7x7[i].colorchanger(); (int j = 0; j < 7; j++) { array7 nextarr7 = arr7x7[i].getcol(j); darrays[0].moverowright(darrays[1].moverowright(darrays[2].moverowright(darrays[3].moverowright(darrays[4].moverowright(nextarr7))))); (int k = 0; k < 5; k++) { display.setdisplay(darrays[k].getarray(), 0, k); } display.updatedisplay(); display.pause(100); } } } } public void tester(){ arr7x7 = charreader(); chardisplayer(); frame.setdefaultcloseoperation(exit_on_close); frame.add(display); frame.pack(); frame.setvisible(true); moveit(); } public static void main(string[] args) { textarrayviewer test = new textarrayviewer(); test.tester(); } }
Comments
Post a Comment