JTable

Java20134

Bekanntes Mitglied
Ich wollte eine Tabelle erstellen, welche ein paar Daten enthält. Aber bei mir funktioniert es nicht ganz, es werden nur die Daten (inhalt) angezeigt und nicht auch die Namen der Spalten (namen). Warum?
Java:
		String[][] inhalt = {{"Hans", "Meyer", "45"},
		                     {"Jens", "Schulze", "17"}};
		
		String[] namen = {"Vorname", "Nachname", "Alter"};
		
		table = new JTable(inhalt, namen);
		table.setBounds(10, 25, 414, 226);
		contentPane.add(table);
 
Java:
Object[][] inhalt = { { "Hans", "Meyer", "45" }, { "Jens", "Schulze", "17" } };
Object[] namen = { "Vorname", "Nachname", "Alter" };
JTable table = new JTable(inhalt, namen);
table.setBounds(10, 25, 414, 226);
JScrollPane scrollPane = new JScrollPane(table);
contentPane.add(scrollPane);
 
Hier mal der ganze Code.
Java:
package tabelle;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTable;

public class Tabelle extends JFrame {

	private static final long serialVersionUID = -513440983079322751L;
	private JPanel contentPane;
	private JTable table;

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Tabelle frame = new Tabelle();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public Tabelle() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("Tabelle");
		setBounds(100, 100, 450, 300);
		
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		Object[][] inhalt = {{"Hans", "Meyer", new Integer(45)},
		                     {"Heinz", "Schulze", new Integer(17)}};
		
		String[] namen = {"Vorname", "Nachname", "Alter"};
		
		table = new JTable(inhalt, namen);
		table.setBounds(102, 102, 233, 32);
		contentPane.add(table);
	}
}
 
Und schon wieder😀
Wo habt ihr so etwas her😱

Gibt es irgendwo im Netz, wo ihr her nehmt, das euer Programm von JFrame erben MUSS:bloed:
Java:
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

public class Tabelle extends JPanel {

	private static final long serialVersionUID = -513440983079322751L;
	private JTable table;

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					JFrame frame = new JFrame("Test");
					Tabelle tabelle = new Tabelle();
					frame.add(tabelle);
					frame.pack();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public Tabelle() {
		Object[][] inhalt = { { "Hans", "Meyer", new Integer(45) }, { "Heinz", "Schulze", new Integer(17) } };

		String[] namen = { "Vorname", "Nachname", "Alter" };

		table = new JTable(inhalt, namen);
		JScrollPane scrollPane = new JScrollPane(table);
		table.setBounds(102, 102, 233, 32);
		add(scrollPane);
	}
}
 
Zuletzt bearbeitet:

Zurück
Oben