JTable probleme

NoWitzness

Mitglied
Hallo liebe Gemeinde! :)

Ich habe ein Problem und hoffe dass mir vielleicht wer aus der Patsche helfen kann?!
Ich habe eine JTable (THX Turtle!), bei der ich aus den markierten Rows, beim Klick auf den Button "Add", eine neue JTable erstellen will. In das Panel darunter... Leider komm ich nicht weiter. Die JTable wird aus einem Resultset erstellt.

Leider lassen sich die Boolean Checkboxen auch nicht anklicken. bei einem Doppelklick auf die Checkbox, steht zwar false da und ich true reinschreiben - ändert sich aber nicht. Hat auch hierzu wer Rat, wie ich die Checkboxen einfach anklicken kann?

Wäre für jeden Rat Dankbar :toll:

Java:
package optik;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.TableColumn;

import logik.DatenbankVerbindung;

public class Table1 implements ActionListener{

	private JFrame jFrame = new JFrame();

	private DatenbankVerbindung dbv = new DatenbankVerbindung();
	private JPanel aa = new JPanel(new BorderLayout());
	private JPanel bb = new JPanel(new BorderLayout());

	private JButton add = new JButton("Bearbeiten");
	private JButton delete = new JButton("Loeschen");

	private JSplitPane splitPane;
	private JTable tbl1, tbl2;
	private JScrollPane scrollPane1, scrollPane2;

	private GridBagLayout gbl = new GridBagLayout();
	private GridBagConstraints gbc = new GridBagConstraints();
	private JPanel buttonPanel = new JPanel(gbl);

	private String produkt = "";

	public Table1(int id, String produkt) {

		jFrame.setTitle(produkt);
		this.produkt = produkt;
		gbc.gridx = 0;
		gbc.gridy = 0;
		gbc.insets = new Insets (5,0,30,5);
		gbc.anchor = GridBagConstraints.EAST;
		add.setPreferredSize(new Dimension(130, 25));
		add.addActionListener(this);
		gbl.setConstraints(add, gbc);
		buttonPanel.add(add);

		gbc.gridx = 1;
		gbc.gridy = 0;
		gbc.insets = new Insets (5,5,30,0);
		gbc.anchor = GridBagConstraints.WEST;
		delete.setPreferredSize(new Dimension(130, 25));
		delete.addActionListener(this);
		gbl.setConstraints(delete, gbc);
		buttonPanel.add(delete);

		dbv.verbinden();
		ResultSet rs = dbv.produktAuflistung(produkt);
		TableModelFromRS tmfr = new TableModelFromRS(rs);
		DefaultTableColumnModel dtcm = tmfr.GetColumnModel();
		tbl1 = new JTable(tmfr, dtcm);
		tbl2 = new JTable();
		dtcm.getColumn(0).setCellRenderer(tbl1.getDefaultRenderer(Boolean.class));
		scrollPane1 = new JScrollPane(tbl1);
		scrollPane2 = new JScrollPane(tbl2);
		scrollPane1.getVerticalScrollBar().setUnitIncrement(15);
		scrollPane2.getVerticalScrollBar().setUnitIncrement(15);


		aa.add(BorderLayout.CENTER, tbl2);
		aa.setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
		aa.setPreferredSize(new Dimension(800, 325));

		bb.add(BorderLayout.SOUTH, buttonPanel);
		bb.add(BorderLayout.CENTER, scrollPane1);
		bb.setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
		bb.setPreferredSize(new Dimension(800, 375));

		splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, bb, aa);

		splitPane.setDividerLocation(0.70);
		splitPane.setDividerSize(0);
		splitPane.setResizeWeight(0.70);
		splitPane.setEnabled(false);

		jFrame.setSize(850, 700);
		jFrame.setLocationRelativeTo(null);
		jFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		jFrame.setBackground(SystemColor.window);
		jFrame.setContentPane(splitPane);
		jFrame.setVisible(true);
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		dbv.verbinden();
		ResultSet rs = dbv.produktAuflistung(produkt);
		String[] spaltenNamen = null;
		int rsSpaltenAnzahl = 0;
		ResultSetMetaData metaData;
		int [] selectetRows = null;
		try {
			if (e.getSource() == add){

				metaData = rs.getMetaData();
				rsSpaltenAnzahl = metaData.getColumnCount(); 
				spaltenNamen = new String[rsSpaltenAnzahl];
				selectetRows = tbl1.getSelectedRows();
			}
		} catch (SQLException e1) {
			e1.printStackTrace();
		}	
		for(int i = 0; i < spaltenNamen.length; i++) {
			TableColumn tc = new TableColumn(i);
			tc.setHeaderValue(spaltenNamen[i]);
		}
		jFrame.repaint();
		
		
	}


	class TableModelFromRS extends AbstractTableModel {

		private static final long serialVersionUID = 1L;
		private String[] columName;
		private ArrayList<Object[]> zeilenList;
		TableModelFromRS(ResultSet rs) {

			ResultSetMetaData metaData;					// Metadaten - beinhalten alle infos zur Tabelle
			try {
				metaData = rs.getMetaData();
				// Anzahl der Zeilen im Resultset
				int rsSpaltenAnzahl = metaData.getColumnCount() + 1; 
				columName = new String[rsSpaltenAnzahl];

				columName[0] = "ADD";							//Erste Spalte ein Boolean
				for (int i = 1; i < rsSpaltenAnzahl; ++i) {   			
					columName[i] = metaData.getColumnLabel(i);		// Beinhaltet jetzt alle SpaltenNamen
					System.out.println(columName[i]);
				}
				// Alle Zeilen abspeichern
				zeilenList = new ArrayList<Object[]>();  			//neue ArrayList bestehend aus Objekt Arrays

				while (rs.next()) {										// solange spalten im Resultset sind ...
					Object[] zeilenArray = new Object[rsSpaltenAnzahl];	// ... wird jeweils ein neues Array vom Typ Objekt erstellt mit der Länge der Spalten im Resultset [rsSpaltenAnzahl]	
					// jeweils in die Erste Spalte wird ein Boolean wert angelegt.
					zeilenArray[0] = new Boolean(false);  // False, weil nicht markiert

					for (int i = 1; i < rsSpaltenAnzahl; i++) {   		// Jede Zeile einzeln einlesen
						zeilenArray[i] = rs.getObject(i);
					}
					zeilenList.add(zeilenArray);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		@Override
		public int getRowCount() {
			return zeilenList.size();
		}

		@Override
		public int getColumnCount() {
			return columName.length;
		}

		@Override
		public Object getValueAt(int rowIndex, int columnIndex) {
			return zeilenList.get(rowIndex)[columnIndex];
		}

		public boolean isCellEditable(int row, int column) {
			if(column == 0)
				return true;
			else
				return false;
		}

		public DefaultTableColumnModel GetColumnModel() {
			DefaultTableColumnModel dtcm = new DefaultTableColumnModel();
			for(int i = 0; i < columName.length; i++) {
				TableColumn tc = new TableColumn(i);
				tc.setHeaderValue(columName[i]);
				dtcm.addColumn(tc);
			}
			return dtcm;
		}

	}
}

Lg :)
 

turtle

Top Contributor
Du solltest ein lauffähiges Beispiel bauen, in dem das Problem sichtbar wird.

Unter anderem, haben wir nicht die DB, die du nutzt und zweitens ist es schlechter Stil, deine GUI so eng mit der DB zu verzahnen. Daher sollte dein Beispiel ohne "Nebenschauplätze" laufen können.

Was du schreibst, hört sich für mich nach Inplace-Editing an.

Du möchtest anscheinend in der JTable direkt Werte ändern und diese sollen im TabelModel geändert werden.

Wenn ich dich da richtig verstanden habe, sage ich das du dich genauer in eine JTable einarbeiten musst. Insbesondere wird dort unterschieden zwischen TableCellRenderer und einem TableCellEditor. Dieser Unterschied ist im Tutorial beschrieben.

Genauere Hilfe ist erst möglich, wenn wir Code haben, der auch laufen kann.;)
 
Zuletzt bearbeitet:

NoWitzness

Mitglied
Tag :)

Leider hab ich keinen Plan wie ich das Lauffähig bekommen soll? Das ist ja meine Frame :D

Das baut doch auf dem rs auf, somit kann ich das nicht umbaun :noe:
aber vielleicht hilft dir der Screenshot??
attachment.php

Das erste Problem ist sofort zu sehen - ich hab keine Hacken bei der Checkbox, sondern kann bei doppelklick darauf, nur etwas reinschreiben... wird aber, auch wenn ich true reinschreibe, nicht gespeichert.

Und das Zweite Anliegen wäre, dass im unteren Teil der SplitPane (auf dem Bild weiss und südlich) eine neue Tabelle bekomme, die aus den makierten Zeilen im nördlichen Bereich erstellt wird. Da scheitere ich aber weil ich das erste Anliegen schon nicht lösen kann. Wo ist der Fehler, damit ich die Checkboxen nicht "anhacken", makieren, auswählen oder sonst was kann?
Weiss mich leider nicht besser auszudrücken ...

Aber dennoch danke für deine Bemühungen.

PS.: den Link hab ich schon durchgemacht, trotzdem wird mein Fehler nicht durchsichtiger :noe:
 

Anhänge

  • false.jpg
    false.jpg
    72,8 KB · Aufrufe: 48

turtle

Top Contributor
Die JTable fragt mit getValueAt nach dem anzuzeigenden Wert.

Hier hast du ja schon über getColumnClass der JTable gesagt, das eine Spalte Boolean-Werte darstellt, worauf das als Checkbox "gemalt" wird.

Über isCellEditable fragt die JTable an, ob eine bestimme Zelle editiert werden darf. In meinem beispiel gebe ich mal zum Test generell true zurück.

Änderst du einen Wert gibt JTable über setValueAt den neuen (GUI)-Wert an das Model, damit dieses seine Daten updaten kann.

Alles zusammen habe ich wieder in ein kleines Beispiel gegossen. Hier siehst du übrigens auch, wie genau zwischen Memorydaten/JDBC-Daten und der GUI unterschieden werden kann. In deinem Beispiel hantierst du ständig mit mehreren Strings. Es gibt aber kein Objekt, welches ALLE Daten einer Zeile zusammenfasst (Klasse Daten in meinem Beispiel)
Java:
package table;

import java.awt.BorderLayout;
import java.awt.Component;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Locale;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableCellRenderer;

@SuppressWarnings("serial")
public class Table extends JPanel {
    private MeinTableModel tableModel;
    private List<Daten> listDaten;
    private JTable table;

    public Table() {
	setLayout(new BorderLayout());
	// @formatter:off
	Daten[] memoryDaten = new Daten[] { 
		new Daten("Turtle", 20, false,"1.1.1993", 5431.123),
		new Daten("Andreas", 10, false,"10.5.2003",60),
		new Daten("Bärbel", 30, true,"20.02.1986", 998811),
		new Daten("Christian", 40, false,"11.11.1980", 123),
		new Daten("Doris", 50, false,"22.02.1970", 1234),
		new Daten("Emil", 66, true,"7.2.1966", 12345),
		new Daten("Franziska", 70, true,"12.9.1955",123456),
		new Daten("Gerhard", 30, false,"16.08.1983",1234567),
		new Daten("Heike", 33, false,"17.08.1986", 12345678),
		new Daten("Ingo", 22, false,"30.12.1992", 123456789),
	};
	// @formatter:on
	listDaten = Arrays.asList(memoryDaten);
	tableModel = new MeinTableModel(listDaten);

	table = new JTable(tableModel);
	JScrollPane scrollPane = new JScrollPane(table);
	add(scrollPane, BorderLayout.CENTER);
    }

    public static void main(String[] args) {
	JFrame frame = new JFrame("Table Test");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.add(new Table());
	frame.pack();
	frame.setVisible(true);
    }
}

@SuppressWarnings("serial")
class MeinTableModel extends AbstractTableModel {
    private List<Daten> listDaten;
    private List<String> listColumns;

    public MeinTableModel(List<Daten> daten) {
	this.listDaten = new ArrayList<Daten>();
	for (Daten datenSatz : daten) {
	    listDaten.add(datenSatz);
	}
	listColumns = new ArrayList<String>();
	listColumns.add("Name");
	listColumns.add("Rentner");
	listColumns.add("Geburtstag");
	listColumns.add("Alter");
	listColumns.add("Gehalt");

    }

    public void addiereNeueDaten(List<Daten> neueDaten) {
	for (Daten daten : neueDaten) {
	    listDaten.add(daten);
	}
	fireTableStructureChanged();
    }

    @Override
    public int getRowCount() {
	return listDaten.size();
    }

    public Class<?> getColumnClass(int columnIndex) {
	switch (columnIndex) {
	case 0: // Name
	    return String.class;
	case 1: // Rentner
	    return Boolean.class;
	case 2: // Geburtstag
	    return Date.class;
	case 3:// Alter
	    return Integer.class;
	case 4:// Gehalt
	    return Double.class;
	}
	return null;
    }

    @Override
    public int getColumnCount() {
	return listColumns.size();
    }

    public String getColumnName(int column) {
	return listColumns.get(column);
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
	return true;
    }

    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
	if (aValue != null) {
	    Daten daten = listDaten.get(rowIndex);
	    switch (columnIndex) {
	    case 0:
		daten.setName((String) aValue);
		break;
	    case 1:
		daten.setRentner((Boolean) aValue);
		break;
	    case 2:
		daten.setGeburtstag((Date) aValue);
		break;
	    case 3:
		daten.setAlter((Integer) aValue);
		break;
	    case 4:
		daten.setGehalt((double) aValue);
		break;
	    }
	}
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
	Daten daten = listDaten.get(rowIndex);
	if (daten != null) {
	    switch (columnIndex) {
	    case 0:
		return daten.getName();
	    case 1:
		return daten.isRentner();
	    case 2:
		return daten.getGeburtstag();
	    case 3:
		return daten.getAlter();
	    case 4:
		return daten.getGehalt();
	    }
	}
	return null;
    }
}

class Daten {
    private String name;
    private Boolean rentner;
    private Date geburtstag;
    private Integer alter;
    private double gehalt;
    private SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");

    public Daten(String name, Integer alter, Boolean rentner, String geb, double gehalt) {
	try {
	    this.name = name;
	    this.alter = alter;
	    this.rentner = rentner;
	    this.geburtstag = sdf.parse(geb);
	    this.gehalt = gehalt;
	} catch (ParseException e) {
	    e.printStackTrace();
	}
    }

    public String getName() {
	return name;
    }

    public void setName(String name) {
	this.name = name;
    }

    public Boolean isRentner() {
	return rentner;
    }

    public void setRentner(Boolean rentner) {
	this.rentner = rentner;
    }

    public Date getGeburtstag() {
	return geburtstag;
    }

    public void setGeburtstag(Date geburtstag) {
	this.geburtstag = geburtstag;
    }

    public int getAlter() {
	return alter;
    }

    public void setAlter(Integer alter) {
	this.alter = alter;
    }

    public double getGehalt() {
	return gehalt;
    }

    public void setGehalt(double gehalt) {
	this.gehalt = gehalt;
    }

}

@SuppressWarnings("serial")
class CurrencyRenderer extends JLabel implements TableCellRenderer {

    public CurrencyRenderer() {
	super();
    }

    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

	if (isSelected) {
	    setForeground(table.getSelectionForeground());
	    super.setBackground(table.getSelectionBackground());
	} else {
	    setForeground(table.getForeground());
	    setBackground(table.getBackground());
	}
	Locale currentLocale = Locale.GERMAN;
	NumberFormat numberFormatter = NumberFormat.getNumberInstance(currentLocale);
	Double quantity = (Double) value;
	setText(numberFormatter.format(quantity));
	setHorizontalAlignment(RIGHT);
	return this;
    }
}
 
Zuletzt bearbeitet:

NoWitzness

Mitglied
Die JTable fragt mit getValueAt nach dem anzuzeigenden Wert.

Hier hast du ja schon über getColumnClass der JTable gesagt, das eine Spalte Boolean-Werte darstellt, worauf das als Checkbox "gemalt" wird.

Über isCellEditable fragt die JTable an, ob eine bestimme Zelle editiert werden darf. In meinem beispiel gebe ich mal zum Test generell true zurück.

Änderst du einen Wert gibt JTable über setValueAt den neuen (GUI)-Wert an das Model, damit dieses seine Daten updaten kann.

Alles zusammen habe ich wieder in ein kleines Beispiel gegossen. Hier siehst du übrigens auch, wie genau zwischen Memorydaten/JDBC-Daten und der GUI unterschieden werden kann. In deinem Beispiel hantierst du ständig mit mehreren Strings. Es gibt aber kein Objekt, welches ALLE Daten einer Zeile zusammenfasst (Klasse Daten in meinem Beispiel)
Java:
package table;

.....

vielen Dank, aber leider weiss ich nicht wie ich daraus auf mein Problem schliessen soll, dass die Checkboxen nicht zum Anklicken sind! Die checkbox IST SCHON EDITIERBAR, aber ich kann keinen Hacken, kein Häckchen, 'son blöden Strich reinmachen!!!!!
attachment.php

Ich will ja meinen Code nicht gänzlich neu schreiben sondern ihn so lassen und ggf. die Checkboxen zum Anklicken haben. Ist es möglich dass du mir dabei hilfst?

Ansonsten dennoch danke!
 

Anhänge

  • false1.jpg
    false1.jpg
    10,3 KB · Aufrufe: 44
Zuletzt bearbeitet:

turtle

Top Contributor
Ich möchte dir ja nicht zu nahe treten, aber etwas mehr Eigeninitiative ist hier schon vonnöten.

Dein Code sind 210 Zeilen Code und mein Beispiel sind 252 Zeilen. Da solltest du in der Lage sein, Unterschiede zu finden und beim Debuggen zu erkennen, warum es bei dir nicht läuft. Das ist kein gänzliches Neuschreiben, sondern normales Ändern eines Programms. Wenn du das mal sagst, wenn mehrere Tausend Zeilen neu zu schreiben wären, aber bei ca. 250:noe:

Da kann ich wenig bis gar nicht helfen, insbesondere auch deswegen, weil du es nicht schaffst, ein eigenständig laufendes Programm zu schreiben. Was ich übrigens komplett nicht verstehe, da du ja ein Beispiel hast, welches als Vorlage dienen kann.

Und meine Hinweis zu setValueAt hast du wohl überhaupt noch nicht richtig nachvollzogen. Denn dann hättest du gesehen, das in meinem Beispiel kein Doppelklick auf der Checkbox-Spalte nötig ist.

Bei einem Einfach-Klick, wird bei isCellEditable nachgragt, ob die Zelle editiert werden darf-->Antwort ja/true. Darauf wir, der Boolesche-Wert geändert und setValueAt aufgerufen und der neue Wert ins Model geschrieben.

Also solltest du doch nachvollziehen können, ob bei dir es genau so abläuft, oder?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T JTable Graphik probleme AWT, Swing, JavaFX & SWT 3
D Probleme bei Übertrag von ArrayList in Jtable AWT, Swing, JavaFX & SWT 2
M Swing Probleme mit JTable AWT, Swing, JavaFX & SWT 7
K Probleme bei sortieren von jTable AWT, Swing, JavaFX & SWT 5
L Probleme beim Refresh von JTable AWT, Swing, JavaFX & SWT 7
G JTable Multiple Row Header Example - Probleme mit der Höhe der Zellen AWT, Swing, JavaFX & SWT 4
Z JTable: Speichern probleme AWT, Swing, JavaFX & SWT 12
T JTable / RowSorter macht große Probleme AWT, Swing, JavaFX & SWT 2
K JButton auf JPanel in JTable (Darstellungs-/Event-Probleme) AWT, Swing, JavaFX & SWT 16
S JTable Probleme wenn ich Zelle verlasse AWT, Swing, JavaFX & SWT 4
P Anfänger Probleme mit JTable bitte um Rat! AWT, Swing, JavaFX & SWT 5
G Probleme mit JTable und MouseWheelListener AWT, Swing, JavaFX & SWT 3
I Drei Fragen/Probleme mit einer JTable AWT, Swing, JavaFX & SWT 9
K Probleme mit Fixed JTable AWT, Swing, JavaFX & SWT 4
G JTable mit JTextAreaEditor - Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 4
M Probleme mit JTable und DB-Inhalt AWT, Swing, JavaFX & SWT 6
B Probleme mit JTable AWT, Swing, JavaFX & SWT 3
D Performance Probleme Jtable AWT, Swing, JavaFX & SWT 4
C Probleme mit JTable.setDefaultRenderer() AWT, Swing, JavaFX & SWT 5
O Probleme mit header von JTable AWT, Swing, JavaFX & SWT 6
F JTable mit Checkbox macht Probleme AWT, Swing, JavaFX & SWT 4
H Probleme JTable zu füllen AWT, Swing, JavaFX & SWT 4
M Probleme mit JTable neuzeichnen! AWT, Swing, JavaFX & SWT 2
G Keine Column-Names in JTable und Probleme mit getValueAt AWT, Swing, JavaFX & SWT 9
E Probleme mit JTable AWT, Swing, JavaFX & SWT 3
D Probleme mit JTable AWT, Swing, JavaFX & SWT 6
G Probleme beim Füllen einer JTable AWT, Swing, JavaFX & SWT 2
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
MadMax2506 Swing JTable lädt sehr lange AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
R Swing JTable und Spaltenausrichtung AWT, Swing, JavaFX & SWT 8
G JTable füllen AWT, Swing, JavaFX & SWT 1
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
J Datensatz in jTable ausgeben AWT, Swing, JavaFX & SWT 3
M Swing Automatischer Editorstart in JTable-Zelle AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JTable aktualisieren AWT, Swing, JavaFX & SWT 5
adiko01 JTable: Nur markierte Zeilen aus der Tabelle in CSV exportiern AWT, Swing, JavaFX & SWT 9
M JTable.setDefaultRenderer(...) greift nicht AWT, Swing, JavaFX & SWT 0
J JTable: Eingabe in Tabellenzelle korrigieren AWT, Swing, JavaFX & SWT 4
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1
D MySQL Daten in JTable anzeigen AWT, Swing, JavaFX & SWT 2
H Swing Jtable extra spalte AWT, Swing, JavaFX & SWT 6
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
S Swing Mal wieder JTable Ansicht aktualisieren AWT, Swing, JavaFX & SWT 10
A JTable mit Daten füllen AWT, Swing, JavaFX & SWT 1
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
N AWT jTable CellRenderer AWT, Swing, JavaFX & SWT 6
T Swing JTable valueChanged datensatz löschen AWT, Swing, JavaFX & SWT 1
0 Swing JTable aus anderer Klasse updaten AWT, Swing, JavaFX & SWT 5
S Jtable defaultRenderer wohin damit ? AWT, Swing, JavaFX & SWT 23
T Swing JTable / FocusListener AWT, Swing, JavaFX & SWT 0
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
L Swing JTable im Panel darstellen AWT, Swing, JavaFX & SWT 8
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
J addRow bei JTable AWT, Swing, JavaFX & SWT 6
M Jtable gibt -1 wert bei selectedRow und Column AWT, Swing, JavaFX & SWT 3
Meeresgott Swing JTable AWT, Swing, JavaFX & SWT 4
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
Thallius JTable dynamisch Spaltenanzahl verändern AWT, Swing, JavaFX & SWT 2
Thallius JTable dynamisch laden? AWT, Swing, JavaFX & SWT 2
B Swing JTable sortieren AWT, Swing, JavaFX & SWT 2
T Swing JTable auslesen und befüllen AWT, Swing, JavaFX & SWT 8
B JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
J JTable und Suchlogik AWT, Swing, JavaFX & SWT 4
Viktim Swing JTable mit Tab verlassen AWT, Swing, JavaFX & SWT 1
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
Viktim Swing JTable Mit Tab druch Zeilen Wechseln AWT, Swing, JavaFX & SWT 5
Thallius Warum refrehsed mein JTable nicht? AWT, Swing, JavaFX & SWT 5
Ghostman1711 Hinzufügen ausgewählter Dateinen des Filechoosers zu einem JTable AWT, Swing, JavaFX & SWT 9
S Swing JTable - Einzelne Rows einfärben AWT, Swing, JavaFX & SWT 11
M Wert einer Zelle aus JTable ziehen AWT, Swing, JavaFX & SWT 4
K JTable getValueAt() klappt nicht immer AWT, Swing, JavaFX & SWT 1
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26

Ähnliche Java Themen

Neue Themen


Oben