// ScrollDemo.java // A simple JScrollPane demonstration. // import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ScrollDemo {public JFrame prozor_sus = new JFrame("SUSTAV"); int n=0; public JTextField [][] TextBox ; public static JScrollPane scrollpane; public static JPanel p = new JPanel(); public ScrollDemo() { prozor_sus.setSize(1000, 700); init(15 ); prozor_sus.setVisible(true); } public void init(int n1) { n= n1; KeyListener listener = new KeyListener() { public void keyPressed(KeyEvent e ) { String ime= e.getComponent().getName(); String br=ime.substring(7, ime.length()); int ibr= Integer.valueOf(br); int i = (int)((ibr-1)/(n+1)); int j= ibr-(n+1)*i-1; if (j<0) { j=0; } if (e.getKeyCode()==39 || e.getKeyCode()==10) { j++; if (j>n) { j=0; i++; } if(i>=n) { i=n-1; } TextBox[i][j].requestFocus(); } if (e.getKeyCode()==37) { j--; if(j<0) { j=n; i--; } if (i<0) { i=0; } TextBox[i][j].requestFocus(); } if (e.getKeyCode()==38) { i--; if (i<0) { i=0; } TextBox[i][j].requestFocus(); } if (e.getKeyCode()==40) { i++; if( i >=n ) { i=n-1; } TextBox[i][j].requestFocus(); } } public void keyReleased(KeyEvent e) { String ime= e.getComponent().getName(); String br=ime.substring(7, ime.length()); int ibr= Integer.valueOf(br); int i = (int)((ibr-1)/(n+1)); int j= ibr-(n+1)*i-1; if (j<0) { j=0; } if (! (( (e.getKeyChar() >= '0') && (e.getKeyChar()<= '9')) || (e.getKeyChar() == '.') || (e.getKeyChar() == '-') || (e.getKeyCode()==40 || e.getKeyCode()==37 || e.getKeyCode()==38 || e.getKeyCode()==39) ) ) { String text= TextBox[i][j].getText(); try { text=text.substring(0, text.length()-1); } catch(Exception ep) { System.out.println(ep.getMessage()); } TextBox[i][j].setText( text ); } } public void keyTyped(KeyEvent e) { } }; int duzina_ulaza=120; int visina_ulaz=25; p.setSize(duzina_ulaza*(n1)+140, visina_ulaz*(n1)+100); GridLayout gl = new GridLayout(n1,n1+1,5,2); // gl.minimumLayoutSize( new Dimension(120,25); gl.minimumLayoutSize( new Container() ); p.setLayout(gl); // p. // p.setLayout(new GridLayout(n1, n1+1,5,2)); TextBox= new JTextField[n1][n1+1]; int k=0 ; int j=0; for( k=0; k<=n1-1; k++) { for(j=0;j<=n1;j++) { String ime= "TextBox"+String.valueOf((n1+1)*(k)+j+1); TextBox[k][j]= new JTextField(); TextBox[k][j].setBounds(duzina_ulaza*(j)+40 , visina_ulaz*(k)+60, duzina_ulaza-10, visina_ulaz-3); TextBox[k][j].setBackground(Color.white) ; TextBox[k][j].setName(ime); TextBox[k][j].setMinimumSize( new Dimension(120,25)); TextBox[k][j].setMaximumSize(new Dimension(120,25)); TextBox[k][j].setAutoscrolls(false); // TextBox[k][j].setIgnoreRepaint(true); //TextBox[k][j].setSize(120,25); TextBox[k][j].setText(" "); TextBox[k][j].addKeyListener(listener); p.add(TextBox[k][j],n1*k+j); } } scrollpane = new JScrollPane(p); // scrollpane.add(p); prozor_sus.add(scrollpane); } }