Como colocar JTable num JInternalFrame

2 respostas
Antonio_Ishac

Olá, segui um tutorial e obtive um resultado, mas gostaria que esse JTable fosse apenas um componente de um JInternalFrame.

Bom Vamos por parte.
Esse é o código que peguei para criar uma JTable:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;


public class MovEntradaItens extends JPanel{
	
	private static final long serialVersionUID = 1L;
	private boolean DEBUG = false;
	
	public MovEntradaItens(){
		super(new GridLayout(1,0));
		
		String[] colunasNomes = {"Código", "Descrição", "CPMF", "I.P.I", "Valor", "QTD"};
		
		 Object[][] data = {{"0001", "Coca - cola", "6", "2", "2.79", "50"},
		 {"0001", "Coca - cola", "6", "2", "2.79", "50"},
		 {"0001", "Coca - cola", "6", "2", "2.79", "50"}
		 
		 };
	
		final JTable table = new JTable(data, colunasNomes);
		table.setPreferredScrollableViewportSize(new Dimension (500,70));		
			
		if (DEBUG) {
            table.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    printDebugData(table);
                }
            });
        }        
        JScrollPane scrollPane = new JScrollPane(table);        
        add(scrollPane);
    }

    private void printDebugData(JTable table) {
        int numRows = table.getRowCount();
        int numCols = table.getColumnCount();
        javax.swing.table.TableModel model = table.getModel();

        System.out.println("Value of data: ");
        for (int i=0; i < numRows; i++) {
            System.out.print("    row " + i + ":");
            for (int j=0; j < numCols; j++) {
                System.out.print("  " + model.getValueAt(i, j));
            }
            System.out.println();
        }
        System.out.println("--------------------------");
    }

	
	public static void createAndShowGUI(){
		JFrame frame = new JFrame("Movimento Entrada itens");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		MovEntradaItens newContentPane = new MovEntradaItens();
		newContentPane.setOpaque(true);
		frame.setContentPane(newContentPane);
		
		frame.pack();
		frame.setVisible(true);
	}
	
	public static void main(String[] args){
		javax.swing.SwingUtilities.invokeLater(new Runnable(){
		
		public void run(){
			createAndShowGUI();
		}
	});
	}

}

Mas o que eu estou querendo fazer, seria uma entrada de produtos, ou seja as TextFields irão estar em cima e um botão que vai jogar no grid os dados.

Estou quebrando a cabeça faz tempo, por isso eu imploro a ajuda de vcs.

Obrigado a todos por estarem sempre dispostos a me ajudar.
:smiley: :smiley: :smiley:

2 Respostas

P

Coloque sua Jtlabe e demais componentes em um painel e adicione este a seu InternalFrame

lembrando que meuJDesckTopPane.add(new meuInternalFrame(xx,xx,xx,xx).setVisible(true);

Antonio_Ishac

OK, vou tentar, qualquer coisa vou chamar

Obrigado pela dica.
:lol:

Criado 26 de março de 2008
Ultima resposta 26 de mar. de 2008
Respostas 2
Participantes 2