Matriz

4 respostas
smello

pessoal…preciso montar uma matriz como na imagem que eu anexei…ela tem os 12 meses do ano e é preenchida com textfields…

mas eu não sei por onde começar!!! alguem tem alguma dica?? me falaram q tentar com js é uma boa!!

valeuuu

4 Respostas

felixcomputer

Cara, faz isso no netbeans, é facinho, usa JTable

smello

então…num tem como fazer no net benas…eu uso eclipse…além disso eu tenho fixas 12 colunas mas a quantidade de linhas dependem da pesquisa que o usuário fizer!!

alguma outra sugestão?

agogear

Criar a matriz e’ facil…

public class TesteMatriz {
 	public static void main(String[] args) {
 		int[][] matriz = new int[LINHAS][COLUNAS];
                               //Exemplo: int[][] matriz = new int[20][10];
                               //a dica pra deixar a matriz livre, e' vc criar um 
//metodo que te retorne as linhas que o usuario preencheu e dai vc cria 
//entao sua matriz. Ex.:  int[][] matriz = new int[handle.GetLinhas()][10];

 		//Alimenta a matriz com valores aleatórios
 		for (int i = 0; i < handle.GetLinhas(); i++) {
 			for (int j = 0; j < 10; j++) {
 				//faz o que tu quiser... 

 			}
 		}
 	}
}

nao sei se e’ mais ou menos isso que vc ta precisando…
Vc pode ja inicializar a matriz, ou entao criar ela vazia…

A dica que te dou e’…
Criar uma classe, com tudo que e’ suportado pela matriz… os metodos get e set, add…
Exemplo de um shopping… que possui uma matriz de lojas:

import java.util.Vector;

public class Loja {

	public Vector productList;
    String name;	
	public Loja(String name) {
		super();
		productList = new Vector();
		this.name = name;
	}
	
	
	/**
	 * @return Returns the name.
	 */
	public String getName() {
		return name;
	}
...
sets...
...
adds...

E a matriz de fato… vc vai ficar trabalhando so com objetos…

public class Ambiente {
	
	
	Loja[][] shop;
	

	public Ambiente() {
		super();
		//ta vendo? um shop eh uma matriz 15 x 15 de lojas
                                shop = new Loja[15][15];
		
		Loja l;

		l = new Loja ("Loja3");
		l.addProduct("Calca",80);
		l.addProduct("Oculos",75);
		l.addProduct("Bermudao",35);
		shop[6][1] = l;
...
e assim vai...
fica mais organizado, mais simples... modularizado...
depois vc faz classes de negocios, produtos... enfim... vc conhece seu problema :)

Espero ter ajudado!

felixcomputer

Cara, eu tbem uso o eclipse, pq pra mim o netbeans é burro… no entanto, na tarefa dele de criar interface gráfica é perfeito, entaum o q eu faço, crio no netbeans e colo no eclipse, importando a lib swing-layout.jar que é a lib do net beans, e de fato funciona normalmente. No caso que vc falou da matriz com 12 e colunas e linhas variaveis, vc precisar criar um modelo, e então adicionar e remover linhas desse modelo. Vou dar um exemplo de uma jtable que eu criei para fazer uma agenda.

Eu crio um JTable e digo que só uma linha pode ser selecionada por vez

javax.swing.JTable() tabela = new javax.swing.JTable();
        tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

Agora monto o modelo dele

tabela.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "ID", "Nome", "Idade", "Telefone", "Mail"
            }
        ) {
            /**
			 * 
			 */
			private static final long serialVersionUID = 8459621561273877128L;
			Class[] types = new Class [] {
                java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });

Se eu quiser Adicionar uma linha

DefaultTableModel modelo = (DefaultTableModel)tabela.getModel();
modelo.addRow( new String [] {String.valueOf(contato.getId()),contato.getNome(), contato.getIdade(),String.valueOf(contato.getTelefone()),contato.getMail()} );

Se que quiser remover

DefaultTableModel modelo = (DefaultTableModel)tabela.getModel();
    	modelo.removeRow(position);

Bom, agora é só vc modificar para as suas necessidades
Flws

Criado 13 de março de 2007
Ultima resposta 14 de mar. de 2007
Respostas 4
Participantes 3