JTable und Buttons

Status
Nicht offen für weitere Antworten.

Drake

Bekanntes Mitglied
Hallo

ich benutze eine JTable zum Anzeigen von Datensätzen (klingt irgendwie naheligend diese dafür zu benutzen) und habe u.a. eine Spalte "Aktion". In dieser möchte ich 3 Buttons unterbringen (rauf, runter, del).
Wie ich einen Button in einer Spalte unterbringen kann, dazu habe ich hier einige Beispiele gefunden (TableCellRenderer ), doch leider fehlt mir heute die Logik ob es möglich ist in einer Spalte 3 Buttons zu haben oder ob diese auf 3 Spalten verteilt werden müssten.

mfg
Drake
 

André Uhres

Top Contributor
Code:
package tablebuttons;
/*
 * TableButtonsDemo.java
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableButtonsDemo extends JFrame {
    private JTable table;
    public TableButtonsDemo() {
        initComponents();
        table.getColumnModel().getColumn(3).setCellRenderer(new CButtonRenderer());
        table.getColumnModel().getColumn(3).setCellEditor(new CButtonEditor());
        resizeTable(table, 70, 70, 70, 140);
    }
    private void resizeTable(final JTable aTable, final int... columnWidth) {
        if(columnWidth.length > aTable.getColumnCount()) throw new IllegalArgumentException();
        aTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        TableColumnModel tableColumnModel = aTable.getColumnModel();
        TableColumn tableColumn;
        for ( int i=0; i<columnWidth.length; i++ ) {
            tableColumn = tableColumnModel.getColumn( i );
            tableColumn.setPreferredWidth( columnWidth[i] );
        }
    }
    private void initComponents() {
        table = new JTable();
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        table.setModel(new DefaultTableModel(
                new Object [][] {
                    {"1", "1", "1", null},
                    {"2", "2", "2", null},
                    {"3", "3", "3", null},
                    {"4", "4", "4", null}
        },
                new String [] {"Title 1", "Title 2", "Title 3", "Aktion"}
        ));
        getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
        setSize(400,300);
        setLocationRelativeTo(null);
    }
    public static void main(final String args[]) {new TableButtonsDemo().setVisible(true);}
}
class CButtonRenderer implements TableCellRenderer {
    JButton r_btUp;
    JButton r_btDown;
    JButton r_btDel;
    JPanel r_panControl;
    public CButtonRenderer() {
        super();
        r_panControl = new JPanel();
        r_panControl.setLayout(new GridLayout(1,3));
        r_btUp = new JButton("^");
        r_btDown = new JButton("v");
        r_btDel = new JButton("X");
        r_panControl.add(r_btUp);
        r_panControl.add(r_btDown);
        r_panControl.add(r_btDel);
    }
    public Component getTableCellRendererComponent(JTable arg0, Object arg1,
            boolean arg2, boolean arg3, int arg4, int arg5) {
        return r_panControl;
    }
}
class CButtonEditor extends AbstractCellEditor implements TableCellEditor, ActionListener {
    private JButton e_btUp, e_btDown, e_btDel;
    private JPanel e_panControl;
    private int e_row;
    private JTable e_table;
    public CButtonEditor() {
        super();
        e_panControl = new JPanel(new GridLayout(1,3));
        e_btUp = new JButton("^");
        e_btDown = new JButton("v");
        e_btDel = new JButton("X");
        e_panControl.add(e_btUp);
        e_panControl.add(e_btDown);
        e_panControl.add(e_btDel);
        e_btUp.addActionListener(this);
        e_btDown.addActionListener(this);
        e_btDel.addActionListener(this);
    }
    public Component getTableCellEditorComponent(final JTable oTable, final Object oValue,
            final boolean arg2, final int iRow, final int iColumn) {
        e_row = iRow;
        e_table = oTable;
        return e_panControl;
    }
    public Object getCellEditorValue() {return "Buttons";}
    public void actionPerformed(final ActionEvent e) {
        fireEditingStopped();
        Object source = e.getSource();
        if(source == e_btUp && e_row > 0){
            ((DefaultTableModel)e_table.getModel()).moveRow(e_row, e_row, e_row-1);
            e_table.changeSelection(e_row-1, 0, false, false);
        }
        if(source == e_btDown && e_row < e_table.getRowCount()-1){
            ((DefaultTableModel)e_table.getModel()).moveRow(e_row, e_row, e_row+1);
            e_table.changeSelection(e_row+1, 0, false, false);
        }
        if(source == e_btDel){
            ((DefaultTableModel)e_table.getModel()).removeRow(e_row);
        }
    }
}
 

Drake

Bekanntes Mitglied
Vielen Dank

werde es gleich direkt einbauen und min. anpassen. Auf die Idee mit dem JPanel bin ich gestern leider nicht mehr gekommen. Schau mir gleich nochmal das JTable Tut an um für mich zu sehen, ob es nicht viellecit doch hätte daraus schließen können, aber ab und zu sieht man den Wald vor lauter Bäumen nicht.


OK vielleicht stell mich heute einfach nur besonders dämlich an, aber es will nicht.
Dein Beispiel lässt sich wunderbar kompelieren und läuft, jedoch wenn ich versuche es bei mir zu integrieren (eigenes TableModel) scheitere ich noch.

Bisherige Fehler bei mir:

1. ich sollte die Augen richtig aufmachen, wenn die Spalte mit den Buttons laut Model nicht editierbar ist, dann ist es auch kein Wunder, wenn die Buttons sich nicht klicken lassen.

2. die Zeile im Editor
Code:
((DefaultTableModel) e_table.getModel()).moveRow(e_row, e_row, e_row-1);
wirft bei mir folgende Exception:
Code:
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
was ich darauf zurück führe, dass ich mit einem eigenem TableModel arbeite.
Bitte korrigiert mich, wenn ich falsch liege.


Nicht wundern über die Art und weise dieses Textes, er enstand in verschieden Schritten beim Verscuh der Implementierung.

Noch eine ergänzende Frage, ist es richtig im Model als columClass für diese Spalte JPanel.class zurück zu geben?

mfg
Drake
 

André Uhres

Top Contributor
Zu 2.: ich kann dazu noch nichts sagen ohne dein Model gesehen zu haben.
Prinzipiell müsste es aber auch mit eigenem TableModel gehen.

Im Model als columClass für diese Spalte JPanel.class zurück zu geben ist prinzipiell OK,
dürfte aber hier kaum eine Rolle spielen, es sei denn, du willst zum Beispiel
einen default renderer und editor für die JPanel.class setzen.
 

Drake

Bekanntes Mitglied
mein Model schaut wie folgt aus

Code:
public class ModelTankstellen extends AbstractTableModel {
	private Tankstellen[] tankstellen;
	private Config config;
	private Gui gui;
	
	public ModelTankstellen(Config config, Gui gui) {
		this.config = config;
		this.tankstellen = this.config.getTankstellen();
		this.gui = gui;
	}
	
	public int getColumnCount() {
		return 6;
	}

	public int getRowCount() {
		return this.tankstellen.length;
	}
	
	public String getColumnName(int columnIndex) {
		switch(columnIndex){
	        case 0: return "Name";
	        case 1: return "Straße";
	        case 2: return "Plz.";
	        case 3: return "Ort";
	        case 4: return "Typ";
	        case 5: return "Aktion";
	        default: return null;
		} 
	}
	
	public Class getColumnClass(int columnIndex) {
		switch(columnIndex){
	        case 0: return String.class;
	        case 1: return String.class;
	        case 2: return String.class;
	        case 3: return String.class;
	        case 4: return String.class;
	        case 5: return JPanel.class;
	        default: return null;
		}    
	}

	public Object getValueAt(int rowIndex, int columnIndex) {
		switch(columnIndex){
     	case 0: return this.tankstellen[rowIndex].getName();
     	case 1: return this.tankstellen[rowIndex].getStreet();
     	case 2: return this.tankstellen[rowIndex].getZipCode();
     	case 3: return this.tankstellen[rowIndex].getCity();
     	case 4:
     		if(Integer.valueOf(this.tankstellen[rowIndex].getType()).intValue() == 0)
        		 return "Aral";
        	else if(Integer.valueOf(this.tankstellen[rowIndex].getType()).intValue() == 1)
        		 return "Shell";
        	else
        		return "Total";
     	case 5: return null;
         default: return null;
		} 
	}
	
	public boolean isCellEditable(int rowIndex, int columnIndex) {
		if(columnIndex == 0 || columnIndex == 5)
			return true;
		else
			return false;
	}
	
	public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
		if(columnIndex == 0) {
			this.tankstellen[rowIndex].setName((String) aValue);
			this.config.saveTankstellen();
			this.gui.setOptionsEdited(true);	
		}
	}
}

habe mir Jtable Tut angeschaut und meine Datensätze darüber in die Tablle zu bringen erschien mir als der geeignetste Weg, nur das ich auf Vectoren für diese verzichte und mein Objekt darin direkt anspreche.

Wegen JPanel frage als Klasse frage ich, weil ich es per defaultRenderer lösen wollte, erschien mir persönlich der schöner Weg

Code:
table.setDefaultRenderer(JPanel.class, new CellButtonRenderer()); 
table.setDefaultEditor(JPanel.class, new CellButtonEditor());

funktionieren tut es so, nur muss dieses nicht zwangsläufig bedeuten, dass das auch der richtige Weg ist.

Wobei wenn ich mir das jatzt so angucke, könnte ich Tankstellen auch eine Methode getTypeAsString spendieren
 

André Uhres

Top Contributor
Das Problem bestand lediglich darin, daß dein TableModel die Methoden moveRow und removeRow nicht implementierte.
Ich habe sie hier implementiert, aufgrund der bestehenden Implementation im DefaultTableModel.
Da du ein Array verwendest, ist removeRow ein wenig aufwendiger (DefaultTableModel verwendet einen Vector):
Code:
class CellButtonEditor extends AbstractCellEditor implements TableCellEditor, ActionListener {
...
    public void actionPerformed(final ActionEvent e) {
        fireEditingStopped();
        Object source = e.getSource();
        if(source == e_btUp && e_row > 0){
            ((ModelTankstellen)e_table.getModel()).moveRow(e_row, e_row, e_row-1);
            e_table.changeSelection(e_row-1, 0, false, false);
        }
        if(source == e_btDown && e_row < e_table.getRowCount()-1){
            ((ModelTankstellen)e_table.getModel()).moveRow(e_row, e_row, e_row+1);
            e_table.changeSelection(e_row+1, 0, false, false);
        }
        if(source == e_btDel){
            ((ModelTankstellen)e_table.getModel()).removeRow(e_row);
        }
    }
}
Code:
public class ModelTankstellen extends AbstractTableModel {
...
    private int deleted;
...
    public int getRowCount() {
        return this.tankstellen.length-deleted;
    }
...
    public void moveRow(int start, int end, int to) {
        int shift = to - start;
        int first, last;
        if (shift < 0) {
            first = to;
            last = end;
        } else {
            first = start;
            last = to + end - start;
        }
        rotate(tankstellen, first, last + 1, shift);
        
        fireTableRowsUpdated(first, last);
    }
    private static int gcd(int i, int j) {
        return (j == 0) ? i : gcd(j, i%j);
    }
    private static void rotate(Tankstellen[] v, int a, int b, int shift) {
        int size = b - a;
        int r = size - shift;
        int g = gcd(size, r);
        for(int i = 0; i < g; i++) {
            int to = i;
            Object tmp = v[a + to];
            for(int from = (to + r) % size; from != i; from = (to + r) % size) {
                v[a + to] = v[a + from];
                to = from;
            }
            v[a + to] = (Tankstellen) tmp;
        }
    }
    public void removeRow(int row) {
        for (int j = row+1; j < tankstellen.length; j++) {
            tankstellen[j-1] = tankstellen[j];
        }
        deleted++;
        fireTableRowsDeleted(row, row);
    }
}
 

Drake

Bekanntes Mitglied
Danke, es gibt einfach so Tage da will der Kopf nicht ganz so wie man will.

Noch eins, zwei Tage, dann habe ich die Options und somit mein frontend endgültig fertig und dann fängt die wahre Arbeit erst an, das Programm laufen lassen und alle bis dato nicht berücksichtigten möglichen Userinteraktionen herausfinden.

Heute bin ich dir wirklich dankbar, dass du mich mit so viel Code unterstüzt und mir meine Arbeit erleichterst.
 

Drake

Bekanntes Mitglied
Ich geb noch nicht ruhe, doch finde ich deine Lösung der moveRow etwas kompliziert, oder ich habe etwas gravierendes übersehen.

Habe sie für meinen Fall jetzt wie folgt umgeschrieben:

Code:
public void moveRow(int start, int to) {
        int shift = to - start;
        int first, last;
        if (shift < 0) {
            first = to;
            last = start;
        } else {
            first = start;
            last = to;
        }
        
        Tankstellen tankstelleTmp = this.tankstellen[start];
        
        this.tankstellen[start] = this.tankstellen[to];
        this.tankstellen[to] = tankstelleTmp;
        
        this.config.saveTankstellen();
        this.gui.setOptionsEdited(true);
        
        fireTableRowsUpdated(first, last);
    }
 

André Uhres

Top Contributor
Drake hat gesagt.:
..doch finde ich deine Lösung der moveRow etwas kompliziert..
Das ist ja eigentlich die Standardlösung aus dem DefaultTableModel.
Ich habe sie lediglich von Vector auf Array umgemünzt.
Die Methode erlaubt das gleichzeitige Verschieben von mehreren zusammenhängenden Zeilen
und ist daher wohl in wenig komplizierter :wink:
 

Drake

Bekanntes Mitglied
Wenn man sich meine Posts hier heute anschaue habe ich ja eigentlich auch gar kein Recht zum klugscheißen, doch da mich deine Codebeispiele heute wieder auf den rechten Pfad der Programmierung zurück gebracht haben :D, musste ich dieses einfach los werden. Ich hätte nätürlich auch einfach schreiben können, ich habe den weg wieder gefunden.
 

André Uhres

Top Contributor
Drake hat gesagt.:
..Ich hätte nätürlich auch einfach schreiben können, ich habe den weg wieder gefunden.
Ich hab mich schon darüber gewundert, daß es dir gelang,
die removeRow funktionsfähig anzupassen,
obschon dein Kopf nicht ganz so will wie du willst :shock:
Naja, dann hab ich ja heute wenigstens etwas Nützliches bewirkt :D
 

Drake

Bekanntes Mitglied
Ich gebe zu, bei der removeRow habe ich es mir auch einfach gemacht und das mit der Kopf will nicht so wie ich will ist so ein philosophisches Problem (an zu wenig Kaffe kann es heute nicht liegen). Wie soll ich es sagen, es sind halt verschiedene Instanzen in dieser Kugel deren Synchronization heute anscheinend nicht so besonders funktioniert hat. Heute könnte man glatt sagen in C geschrieben, kompeliert wunderbar, doch zur Laufzeit können durchaus unerwartete kritische Fehler auftreten :lol:, Nebeneffekt erhöhtes Mitteilungsbedürfniss.
 

Drake

Bekanntes Mitglied
Guten Morgen

jetzt wieder ohne Blödsinn.

Ich steh bei dieser Tablelle jetzt noch vor einem letzten Problem, ich würde gerne bei den Buttons einen Tooltip anzeigen lassen. Wie ich diesen setze ist klar, jedoch reagieren die Buttons in der Spalte nicht auf das überfahren mit der Maus, weshalb dieser nicht angezeigt wird.
Weiss aber leider nicht wie ich das beheben kann, habs Testweise auch mit setFocusable(true) probiert aber ohne Erfolg.

mfg
Drake
 

André Uhres

Top Contributor
Drake hat gesagt.:
..ich würde gerne bei den Buttons einen Tooltip anzeigen lassen..
Code:
   public CellButtonRenderer() {
        super();
        r_panControl = new JPanel();
        r_panControl.setToolTipText("<html>^ = hoch
v = runter
X = löschen");
...
    }
 

Drake

Bekanntes Mitglied
Hallo

das mit dem Panel würde natürlich funktionieren, doch würde ich die Tooltips gerne am Button haben, und da klappt es leider nicht mit setTooltipText() und ich habe die Ursache des Porblems nicht erkennen können. Auch wenn ich der Meinung bin, dass meine ImageIcons selbsterklärend sind, hatte mich Gestern jemand, den ich zum davor gesetzt hab, eines besseren belehrt.

mfg
Drake
 

André Uhres

Top Contributor
Drake hat gesagt.:
..das mit dem Panel würde natürlich funktionieren,
doch würde ich die Tooltips gerne am Button haben..
Du könntest über einen MouseMotionListener die Zelle jeweils
editieren lassen, wenn die Maus drüber geht:
Code:
       table.addMouseMotionListener(new MouseMotionListener() {
            public void mouseDragged(MouseEvent e) {
            }
            public void mouseMoved(MouseEvent e) {
                Point p = e.getPoint();
                int row = table.rowAtPoint(p);
                int column = table.columnAtPoint(p);
                if(column == 3){
                    table.editCellAt(row, column);
                }
            }
        });
und die Tooltips nicht im Renderer, sondern im Editor setzen:
Code:
   public CellButtonEditor() {
        super();
        e_panControl = new JPanel(new GridLayout(1,3));
        e_btUp = new JButton("^");
        e_btDown = new JButton("v");
        e_btDel = new JButton("X");
        e_btUp.setToolTipText("Zeile hoch schieben");
        e_btDown.setToolTipText("Zeile runter schieben");
        e_btDel.setToolTipText("Zeile löschen");
        e_panControl.add(e_btUp);
        e_panControl.add(e_btDown);
        e_panControl.add(e_btDel);
        e_btUp.addActionListener(this);
        e_btDown.addActionListener(this);
        e_btDel.addActionListener(this);
    }
 

Drake

Bekanntes Mitglied
Danke

mit dem MouseMotionListener funktionierts. Jetzt sollte wirklich alles geklärt sein.

mfg
Drake
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JTable + Buttons Allgemeine Java-Themen 7
KeTho1712 Java Swing: JTable standardmäßig füllen, sodass bei Start bereits Datensätze gespeichert sind Allgemeine Java-Themen 1
H Swing JTextArea als TableCellRenderer in JTable - wie Zeilen selektieren? Allgemeine Java-Themen 47
D JTable mit JTextAreas in den Zellen Allgemeine Java-Themen 8
X Swing JTable zeigt nichts Allgemeine Java-Themen 4
G jTable aktualisieren?! Allgemeine Java-Themen 1
S JTable - mehrere ausgewählte Rows in ArrayList Allgemeine Java-Themen 5
A Fehler beim Aktualisieren JTable Allgemeine Java-Themen 1
D falsche Zeile aus JTable in MySQL gelöscht Allgemeine Java-Themen 6
offi Drag and Drop mehrerer File aus Explorer in JTable Allgemeine Java-Themen 1
V JTable Externe Lib Allgemeine Java-Themen 2
F JTable Pfeiltasten-Verhalten Allgemeine Java-Themen 1
T jTable Gestaffelte Überschriften Allgemeine Java-Themen 22
Paul15 2D Arraylist in Jtable Allgemeine Java-Themen 1
R jTable, nur Werte zwischen 2 Double values ausgeben Allgemeine Java-Themen 3
B Klassen JTable mit einer Liste Allgemeine Java-Themen 0
A JTable Bilder Allgemeine Java-Themen 1
F JTable mit Zellen die sich durch andere Eingaben füllen Allgemeine Java-Themen 1
A JTable - CellRange auslesen Allgemeine Java-Themen 2
A jTable Renderer Allgemeine Java-Themen 5
N JTable filtern Allgemeine Java-Themen 3
hdi JTable#print & Druckgröße Allgemeine Java-Themen 6
S JTable: Model durch ein anderes ersetzen Allgemeine Java-Themen 2
G JTable: ListSelectionListener removen Allgemeine Java-Themen 8
M JTable + ArrayList Allgemeine Java-Themen 3
G Aktualisierung einer JTable erfolgt nicht zuverlässig Allgemeine Java-Themen 14
E Hintergrund einer JTable änden Allgemeine Java-Themen 2
G Darstellung von Ergebnissen einer Dokumentensuche über eine JTable Allgemeine Java-Themen 19
Iron Monkey Inhalt von JTable in die Textdatei mit StringWidth schreiben Allgemeine Java-Themen 3
P jTable getSelectedRow? Allgemeine Java-Themen 2
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
B LEERE JTable MouseListener + popupmenu Allgemeine Java-Themen 2
X xml aus Zip in JTable Allgemeine Java-Themen 2
L jTable drag & drop einzelner Zeilen Allgemeine Java-Themen 4
S JTable und Spalten löschen Frage Allgemeine Java-Themen 5
H JTable per iText in PDF: Größenanpassung möglich? Allgemeine Java-Themen 2
F XML zu JTable mit JDOM Allgemeine Java-Themen 2
E JTable wird nicht angezeigt Allgemeine Java-Themen 11
Screen ImageIcon in Cell der JTable Allgemeine Java-Themen 2
G JTable mit Keylistener geht nicht Allgemeine Java-Themen 3
C Swing JTable Vector aus DB adden Allgemeine Java-Themen 3
A Swing JTable Polymorphismus Allgemeine Java-Themen 2
trash super + JTable Allgemeine Java-Themen 7
D JTable -> 1Spalte nur zahlen Allgemeine Java-Themen 2
L JTABLE setvalueat methode! Allgemeine Java-Themen 16
C Swing Daten zwischen JTable teilen Allgemeine Java-Themen 6
hdi JTable: Sortierung von Date-Objekten Allgemeine Java-Themen 4
B JTable nach Icon sortieren Allgemeine Java-Themen 6
N Exception beim auslesen einer JTable Allgemeine Java-Themen 5
M jdesktop binding: jTable update nach Änderung... Allgemeine Java-Themen 3
D JTable mit GROUP BY Allgemeine Java-Themen 23
martin82 Regex - JTable - Filter Allgemeine Java-Themen 10
X JTable mit Checkboxen -> Setzen (true/false) der Checkboxen per Mouseklick... Allgemeine Java-Themen 3
P JTable drucken Allgemeine Java-Themen 8
A JTable Feldwerte in JTextFelder mit blättern Allgemeine Java-Themen 5
DStrohma [Erledigt] Wieso kann ich Taste 'ENTER' in JTable nicht belegen? Allgemeine Java-Themen 2
M jTable Allgemeine Java-Themen 19
D jTable und TableModel Allgemeine Java-Themen 2
B Exception bei leerem JTable verhindern Allgemeine Java-Themen 10
A Observable BeansBinding an einer JTable bzw. JXTable Allgemeine Java-Themen 3
P Textfile -> Array -> JTable Allgemeine Java-Themen 9
S JTable Aktuelisieren ber Wie ? Allgemeine Java-Themen 4
MQue JComboBox in JTable Allgemeine Java-Themen 4
J Ergebnismenge eines SQL-Queries in JTable anzeigen Allgemeine Java-Themen 3
MQue JTable alles rechts Allgemeine Java-Themen 8
G Checkboxen abfragen,Auswahl sichern, JTable laden Allgemeine Java-Themen 2
G Hibernate, JTable und Performance Allgemeine Java-Themen 17
R JTable und Cell Renderer Allgemeine Java-Themen 3
M JTable: Anzahl Zeichen bei Eingabe Allgemeine Java-Themen 2
S Welche Speicherung von Daten bei Kalendarfunktion der jtable Allgemeine Java-Themen 7
J keylistener auf jtable Allgemeine Java-Themen 19
C JTable, Abstand zwischen Zellen Allgemeine Java-Themen 2
G Eindeutiges Identifizieren einer JTable/Component z.laufzeit Allgemeine Java-Themen 2
D JTable -> ArrayIndexOutOfBoundsException bei Mausklick Allgemeine Java-Themen 2
S JTable editieren + in JTextField schreiben Allgemeine Java-Themen 7
G Daten in / für JTable beim Scrollen nachladen? Allgemeine Java-Themen 5
M JTable verändert Position auf meinem JPanel Allgemeine Java-Themen 3
P JTable Allgemeine Java-Themen 2
H JTable Löschen [Alle Zeilen aufeinmal Löschen] Allgemeine Java-Themen 6
P JTable setDataVector Allgemeine Java-Themen 2
D Scrollbalken in meiner JTable auf einmal weg. Allgemeine Java-Themen 2
P JTable Allgemeine Java-Themen 8
P JButtons mit JTable verknüpfen Allgemeine Java-Themen 16
G fehler bei JTable mit JDK1.6 Allgemeine Java-Themen 4
M CheckBox in JTable - ich verzweifle gleich Allgemeine Java-Themen 2
P JTable/Vector Allgemeine Java-Themen 5
P JTable Allgemeine Java-Themen 4
E JButton bleibt in der JTable Allgemeine Java-Themen 2
E JButton in einer Zelle von JTable Allgemeine Java-Themen 16
P JTable selektierte Zeile mitwandern Allgemeine Java-Themen 2
F Checkbox in JTable , eigener Cellrenderer -wie gehts weiter? Allgemeine Java-Themen 2
P JTable suchen in einer Spalte Allgemeine Java-Themen 24
G JTable wird nicht richtig aufgebaut Allgemeine Java-Themen 9
C Ausdrucken einer JTable in eine Datei mit Erhalt des Formats Allgemeine Java-Themen 3
W Columns austauschen/verschieben von jtable Allgemeine Java-Themen 3
P 3rd party JTable libraries (freeware/opensource) Allgemeine Java-Themen 19
D JTable aus Eclipse Ok, kompeliert aber nicht Allgemeine Java-Themen 6
G mySQL und JTable Allgemeine Java-Themen 7
B JScrollPane in einer JTable aktualisieren? Allgemeine Java-Themen 9
G CheckBox in JTable Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben