Bom dia,
Sou iniciante em java e preciso fazer uma matriz de JTextfield,
cheguei até o momento nesse código,
public class Matriz extends javax.swing.JFrame {
JTextField[][] tf = new JTextField[2][2];
acredito ter criado corretamente a matriz 2x2,
abaixo segue os for para criar os JTextfields,
ela imprime 4 JTextfields na vertical, pelo que eu pude entender,
e não imprime corretamente a matriz,
Ao invés de colocar esse código no formWindowActivated, coloque no construtor. É importante que os JTextFields sejam criados antes da janela se tornar visível.
Outra coisa, que layout manager você está usando para esse painel? Seria um GridLayout?
Alteração sugerida feita, e compreendida a importancia da mesma
Estou usando GridLayout…o problema esta no fato de que este código esta criando os jTextField
todos em uma unica linha…(se aumentar a matriz, por exemplo 10x10)o codigo ira criar 100 jTextFields em uma unica linha.
Onde o objetivo seria de ter os jTextFields dispostos em
10 colunas e 10 linhas.
Se alguém puder me dar algumas dicas de onde estou errando na lógica agradeço,vlw
Bom, posta aí o resto do código (pelo menos a parte onde você cria o JPanel 1). E não se esqueça de usar as tags code, como descrito aqui: http://www.guj.com.br/posts/list/50115.java
@author
*/
public class Crossword extends javax.swing.JFrame {
/** Creates new form Crossword */
public Crossword() {
initComponents();
JTextField[][] tf = new JTextField[3][3];
for (int linha = 0; linha < tf.length; linha++) {
for (int coluna = 0; coluna < tf[linha].length; coluna++) {
tf[linha][coluna] = new JTextField(" ");
jPanel1.add(tf[linha][coluna]);
}
}
}
@SuppressWarnings(“unchecked”)
/**
@param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Crossword().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JPanel jPanel1;
// End of variables declaration