Bitte um Hilfe bei ComboBox in TableHeader

Status
Nicht offen für weitere Antworten.

Oli

Top Contributor
Hallo,

folgender Code macht ja schon fast das was ich will, ich bekomme eine Combobox im TableHeader angezeigt. Nur leider kann ich die nicht "aufklappen" und was auswählen.
Kann mir jemand sagen woran das liegt?

Code:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumnModel;

public class ComboBoxImHeader extends JPanel {

	public ComboBoxImHeader() {
		setLayout(new BorderLayout());
		String[] headerStr = { "1", "2", "3" };

		DefaultTableModel dm = new DefaultTableModel(headerStr, 4);
		JTable table = new JTable(dm);

		ComboBoxHeaderRenderer renderer = new ComboBoxHeaderRenderer();
		TableColumnModel model = table.getColumnModel();
		int n = headerStr.length;
		for (int i = 0; i < n; i++) {
			model.getColumn(i).setHeaderRenderer(renderer);
		}

		JTableHeader header = table.getTableHeader();
		header.addMouseListener(new HeaderListener(header, renderer));
		JScrollPane pane = new JScrollPane(table);
		add(pane, BorderLayout.CENTER);
	}

	public static void main(String[] args) {
		JFrame f = new JFrame("Combobox im Header");
		f.getContentPane().add(new ComboBoxImHeader(), BorderLayout.CENTER);
		f.setVisible(true);
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		f.pack();
	}

	class HeaderListener extends MouseAdapter {
		JTableHeader header;

		ComboBoxHeaderRenderer renderer;

		HeaderListener(JTableHeader header, ComboBoxHeaderRenderer renderer) {
			this.header = header;
			this.renderer = renderer;
		}

		public void mousePressed(MouseEvent e) {
			int col = header.columnAtPoint(e.getPoint());
			renderer.setPressedColumn(col);
			header.repaint();

			System.out.println("Column: " + col);
		}

		public void mouseReleased(MouseEvent e) {
			int col = header.columnAtPoint(e.getPoint());
			renderer.setPressedColumn(-1);
			header.repaint();
		}
	}

	class ComboBoxHeaderRenderer extends JComboBox implements TableCellRenderer {
		int pushedColumn;

		public ComboBoxHeaderRenderer() {
			pushedColumn = -1;
		}

		public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
			addItem("1");
			addItem("2");
			addItem("3");
			addItem("4");
			addItem("5");
			addItem("6");
			return this;
		}

		public void setPressedColumn(int col) {
			pushedColumn = col;
		}
	}
}

Vielen Dank,

Oli
 

Ebenius

Top Contributor
Der JTableHeader benutzt Deinen TableCellRenderer der -- wie der Name schon sagt -- nur darstellt. Die Comobox-Komponente wird nicht lebendig sondern nur per CellRendererPane gezeichnet.

Ebenius
 

Oli

Top Contributor
Hm,

Vielen Dank. Aber wie kann ich denn dann meine ComboBoxen zum Leben erwecken?

Grüße Oli
 

Ebenius

Top Contributor
Du kannst Dir den CellEditor-Mechanismus aus der JTable angucken und für den JTableHeader (eine Ableitung dessen) nachbauen. So würde ich es zumindest tun. Einfach wird das aber nicht. Beachte, dass der Spaltenkopf verschiebbar bleiben muss.

Ebenius
 

Ebenius

Top Contributor
JTableHeader unterstützt doch das Verschieben von Spalten. Diese Funktionalität will man ja normaler Weise behalten. Diesen Punkt gibt es also zu beachten. Mehr wollte ich nicht sagen.

Ebenius
 
Zuletzt bearbeitet:

thE_29

Top Contributor
Najo, wer verschiebt die bitte?
Ich deakvtiviere das immer, da es für mich eigentlich noch nie einen Sinn ergeben hat, die Spalten zu verschieben..
 

Ebenius

Top Contributor
Bei unseren Tabellen ist es immer eingeschaltet. Ist sicher Geschmackssache und hängt bestimmt von der Art der dargestellten Daten ab, oder?

Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing TicTacToe-Bitte um Hilfe AWT, Swing, JavaFX & SWT 32
T Bitte um Hilfe AWT, Swing, JavaFX & SWT 2
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
R Swing JOptionPane Fehlermeldung- bitte um Hilfe! AWT, Swing, JavaFX & SWT 4
Jats Bitte um Hilfe bei JComboBox mit Array AWT, Swing, JavaFX & SWT 6
V Bitte um Hilfe bei nem Taschenrechner AWT, Swing, JavaFX & SWT 8
N ausrichtung Button - hilfe bitte AWT, Swing, JavaFX & SWT 2
J JPanel in JScrollPane Hilfe bitte AWT, Swing, JavaFX & SWT 2
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
A Swing Meine JButtons werden nicht angezeigt bitte helft mir AWT, Swing, JavaFX & SWT 2
J Bitte Erläuterung (skin/virtualflow) AWT, Swing, JavaFX & SWT 0
H JTextArea - farbige Zeilen .. bitte um Vorschläge zur Implementierung AWT, Swing, JavaFX & SWT 1
T action für Button übergeben - bitte um Segen AWT, Swing, JavaFX & SWT 1
C Swing XML - JAVA (GUI) Problem !! BITTE HELFEN !! AWT, Swing, JavaFX & SWT 6
R Bitte kein Menü bei F10 AWT, Swing, JavaFX & SWT 9
S Bitte um ein Beispiel von JXTreeTable AWT, Swing, JavaFX & SWT 12
J AWT Einmal FileDialog-Beispiel für Dumme bitte AWT, Swing, JavaFX & SWT 6
S Swing Bild (Gif) in Bitte warten JDialog AWT, Swing, JavaFX & SWT 6
A repaint() zu langsam, bitte um alternativen AWT, Swing, JavaFX & SWT 5
hdi GUI - Bitte optisches Feedback ;) AWT, Swing, JavaFX & SWT 26
O Verbesserungfrage zu einem MP3Player Slider - Ebenius kannst du helfen bitte ? AWT, Swing, JavaFX & SWT 10
R JDialog "Bitte warten..." durchsichtig AWT, Swing, JavaFX & SWT 5
A Bitte warten Dialog AWT, Swing, JavaFX & SWT 4
E bei gedrückte Taste --> Bitte nur ein Event auslösen AWT, Swing, JavaFX & SWT 4
P Anfänger Probleme mit JTable bitte um Rat! AWT, Swing, JavaFX & SWT 5
G Mausklick event? BITTE HELFT MIR! :( AWT, Swing, JavaFX & SWT 8
I TrayIcon aber bitte nur einmal AWT, Swing, JavaFX & SWT 2
H <Synth> Alle die sich auskennen Bitte hier rein schaue AWT, Swing, JavaFX & SWT 2
hdi bitte um performance ratschläge AWT, Swing, JavaFX & SWT 31
G kann meine idee nicht verwirklichen, bitte helfen AWT, Swing, JavaFX & SWT 3
G eingegebene Werte einer JTable prüfen? Bitte helfen AWT, Swing, JavaFX & SWT 5
V Bitte um kurze erklärung AWT, Swing, JavaFX & SWT 2
S ScrollBar, bitte helft mir! AWT, Swing, JavaFX & SWT 9
S Bitte Sinusbefehl erklären AWT, Swing, JavaFX & SWT 5
C JTree bereitet große Probleme, kann uns bitte jemand helfen! AWT, Swing, JavaFX & SWT 6
J eventhandling / Problemmeldung Bitte schaut euch den Code an AWT, Swing, JavaFX & SWT 2
thE_29 Vor dem ersten Posten bitte lesen! AWT, Swing, JavaFX & SWT 0
M MouseEnter - Exit - Starthilfe bitte! AWT, Swing, JavaFX & SWT 3
A Kann mir mal bitte jemand die Ausrichtungen logisch erklären AWT, Swing, JavaFX & SWT 10
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
senol JOptionPane hilfe!!! :(((( AWT, Swing, JavaFX & SWT 32
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
J Hilfe beim tablevies AWT, Swing, JavaFX & SWT 2
T Swing Hilfe - Selbst Informatik Lehrer konnte mir nicht weiter Helfen AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
T Hilfe bei Code AWT, Swing, JavaFX & SWT 2
S Hilfe bei Java Gui Anfänger AWT, Swing, JavaFX & SWT 5
J Warum geht das nicht? if-else usw..... compilieren geht nicht -- HILFE!!! AWT, Swing, JavaFX & SWT 10
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
T Hilfe was mus ich tun um das fertige JfxFenster zu sehen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
A hilfe für flowlayout AWT, Swing, JavaFX & SWT 6
N Swing Benötige Hilfe um ein Swing Canvas zu speichern AWT, Swing, JavaFX & SWT 4
C Gesucht: Hilfe beim programmieren. AWT, Swing, JavaFX & SWT 1
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
C Hilfe beim programmieren mit studiumgebundenes Projekt AWT, Swing, JavaFX & SWT 1
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
H Swing Hilfe bei GUI AWT, Swing, JavaFX & SWT 4
T HILFE wie lösche ich gezeichnetes per tastendruck AWT, Swing, JavaFX & SWT 1
Tausendsassa ImageIcon?! Hilfe! AWT, Swing, JavaFX & SWT 10
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
J GridBagLayout mit Hilfe einer For-Schleife befüllen AWT, Swing, JavaFX & SWT 1
M Hilfe bei Performanceverbesserung AWT, Swing, JavaFX & SWT 34
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
M SwingWorker Hilfe! AWT, Swing, JavaFX & SWT 10
K Swing Brauche Hilfe AWT, Swing, JavaFX & SWT 6
O AWT Performance und Bug behebung[brauche Hilfe] AWT, Swing, JavaFX & SWT 2
K Swing Konsolen Programm in GUI - Suche Hilfe bei Konsolenausgabe AWT, Swing, JavaFX & SWT 2
K Viele Textfield mit Hilfe eines MousListener leeren - möglich? AWT, Swing, JavaFX & SWT 8
I ausgewählte Zeile mit Hilfe der Tastatur löschen! AWT, Swing, JavaFX & SWT 3
Kenan89 Java FX GUI Hilfe für erste Java FX App AWT, Swing, JavaFX & SWT 8
B Rechteck Mit Hilfe Von Timeline, KeyFrames animieren AWT, Swing, JavaFX & SWT 3
J LayoutManager Hilfe bei Wahl des Layouts AWT, Swing, JavaFX & SWT 9
F Hilfe beim ausschalten von Robot AWT, Swing, JavaFX & SWT 7
N Hilfe bei Memory-Spiel AWT, Swing, JavaFX & SWT 18
L Swing Hilfe bei JTabelModel gesucht AWT, Swing, JavaFX & SWT 4
B Hilfe zu JTable und JTabbedPane AWT, Swing, JavaFX & SWT 18
K Hilfe bei Labels AWT, Swing, JavaFX & SWT 3
S Hilfe beim Lernprozess von java3d AWT, Swing, JavaFX & SWT 20
T JLayeredPanel - Hilfe AWT, Swing, JavaFX & SWT 7
C Swing Hilfe bei umsetzung eines Stundenplans. AWT, Swing, JavaFX & SWT 7
K Swing Hilfe beim JTree! AWT, Swing, JavaFX & SWT 3
N Hilfe bei Panels! AWT, Swing, JavaFX & SWT 11
F Swing Syntaxhighlighting Hilfe AWT, Swing, JavaFX & SWT 5
Jats Hilfe bei FocusListener für Taschenrechner AWT, Swing, JavaFX & SWT 4
N Swing nach Fensterrand Action ausführen? HILFE AWT, Swing, JavaFX & SWT 7
R Hilfe bei Bachelorrabeit. Seitenvorschau AWT, Swing, JavaFX & SWT 7
L Mein Kopf dreht sich... Brauche Hilfe beim GUI gestalten AWT, Swing, JavaFX & SWT 10
G Swing Hilfe-Fenster erstellen AWT, Swing, JavaFX & SWT 20
E LayoutManager Hilfe ein GridbagLayout!! AWT, Swing, JavaFX & SWT 7
K GUI-Hilfe für Anfänger AWT, Swing, JavaFX & SWT 15
J Schulprojekt und braucht hilfe AWT, Swing, JavaFX & SWT 54
G Hilfe! Command Pattern an easy ImageViewer? AWT, Swing, JavaFX & SWT 13
radiac Hilfe bei GUI AWT, Swing, JavaFX & SWT 22

Ähnliche Java Themen

Neue Themen


Oben