Criando um construtor gráfico de matrizes int[][]

5 respostas
E
[color=red]Galera, estou tentando construir um construtor gráfico (usando JTextField) de matrizes int[][]. Parei no seguinte código, mas algo deve estar muito errado:[/color]
import javax.swing.*;
import java.awt.*;

class MatrizCreator extends JFrame{
	int li, col;
	JTextField[][] n = new JTextField[li][col];
	int[][] matriz = new int[li][col];
	JFrame window = this;
	
	public MatrizCreator(){
	
		Container p = getContentPane();
		p.setLayout(new GridLayout(li, col));
		
		for(int i=0; i<li; i++){
			for(int j=0; j><col; j++){
				n[i][j] = new JTextField("");
				p.add(n[i][j]);
			}
		}
		pack();
	}
	
	public int[][] cria(int l, int c){
		li = l;
		col = c;
		window.show();
		// Através de eventos específicos, fazer:
		return matriz;
		// fim!
	}
	
	public static void main(String args[]){
		MatrizCreator j = new MatrizCreator();
		int[][] matriz = j.cria(3,3);
	}
	
}

[color=red]Desde já, Obrigado![/color]
>

5 Respostas

A

Cara nao entendi exatamente oq vc ta tentando fazer… é criar um GridLayout com uma matriz de JTextField??

  • Seu codigo tem funcoes “deprecated”
  • Tem alguns erros de logica tbm

Diga exatamente oq vc quer fazer pra q a gnt possa te ajudar melhor

Marky.Vasconcelos

Não e´mais fáçil usar uma JTable?

E

[color=red]Tá, tb achei melhor usar JTable. Agora gostaria de fazer o seguinte:[/color] [color=blue] pegar os valores digitados, transformar em int, armazená-los em uma matriz int[][] e retorná-la no método main.[/color]

import javax.swing.*;
import java.awt.*;

class MatrizCreator extends JFrame {
	JTable tabela;
	public MatrizCreator(){
		JButton butaoOk;
		
		tabela = new JTable(3,3);
		butaoOk = new JButton("Ok!");
		
		Container co = getContentPane();
		co.setLayout(new GridLayout(2,1));
		
		co.add(tabela);
		co.add(butaoOk);
		
		pack();
		
		this.setVisible(true);
	}
	public static void main(String args[]){
		MatrizCreator j = new MatrizCreator();
	}
}
A

ta cade a tentativa?

E

[color=red] Acho que o erro está na linha 31![/color]

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class JMatriz extends JFrame {
	private JTable tabela;
	private int li, col;
	private int[][] matriz = new int[li][col];
	
	public JMatriz(int l, int c){
		li = l;
		col = c;
		
		tabela = new JTable(l, c);
		JButton butaoOk;
		butaoOk = new JButton("Ok!");
		
		
		Container co = getContentPane();
		co.setLayout(new GridLayout(2,1));
		co.add(tabela);
		co.add(butaoOk);
		pack();
		setVisible(true);
		
		
		butaoOk.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				for(int i=0; i<li; i++){
					for(int j=0; j><col; j++){
						matriz[i][j] = Integer.parseInt(tabela.getValueAt(i, j).toString());
					}
				}
			}
			
		});
		
		
		this.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		});
	
	}
	
	public static void main(String args[]){
		JMatriz j = new JMatriz(3,5);
	}
}
>
Criado 29 de agosto de 2008
Ultima resposta 30 de ago. de 2008
Respostas 5
Participantes 3