Table-Zeilen mit Thread einfärben

TrueSpirit

Mitglied
Hallo zusammen,

ich habe einen DefaultTableCellRenderer der mir die Zeilen abhängig vom Wert der ersten Spalte einfärbt. Jetzt würde ich gerne die Zeilen in einem Thread einfärben, was ja bei Swing irgendwie ein Problem ist. Also ich hätte es gern das zwischen den Zeichnen jeder Zeile z.B. eine Sekunde Zeit vergeht.

Danke schonmal für eure Lösungsforschläge.
 

haui95

Bekanntes Mitglied
Benutze doch eine for-Schleife innerhalb eines Threads, also in der run()-Methode, die solange läuft, bis alle Zeilen einer Spalte eingefärbt sind, und schreibe am Ende in die for-Schleife folgendes.
Java:
Thread.sleep(1000);

MfG
 

haui95

Bekanntes Mitglied
Ich denke auch, dass es eigentlich kein Sinn haben kann, vielleicht nur aus rein optischen Gründen. Dennoch ist dieses Thread.sleep() eigentlich sehr rechen- und zeitaufwendig und warum soll der Anwender für das einfärben von sage ich mal 20 Zeilen dann ausgerechnet 20 Sekunden warten ?
 
W

WasZurJVM

Gast
Einen [JAPI]DefaultTableCellRenderer[/JAPI] mit einem [JAPI]Thread[/JAPI] zu kombinieren
Damit die Zeilen unterschiedlich eingefärbt werden
Ist eine sehr "eigenartige Idee" (freundlich gesprochen):

Der [JAPI]CellRenderer[/JAPI] wird immer aktiv, wenn die Tabelle neu gezeichnet werden muss.
Also beim Bewegen des Fenstern / maximieren…
Wie soll da ein Thread rein?

Zumal durch eine Änderung garantiert wieder ein repaint aufgerufen wird
Was dazu führt, das der Renderer und der Thread wieder aufgerufen wereen

Java:
public class LineColorCellRenderer extends DefaultTableCellRenderer
{
	private static final long	serialVersionUID	= 1L;
	
	@Override
	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
	{
		// hier erstellt der DefaultTableCellRenderer die Anzeige
		final Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
		
		// wenn die zeile nicht selektiert ist
		if(!isSelected)
		{
			// setzen wir eine andere Farbe
			// und zwar so, das die Zeilen abwechselnd
			// weiß / grau werden
			c.setBackground( row % 2 == 0 ? Color.WHITE : Color.LIGHT_GRAY);
		}
		return c;
	}
}
 
Zuletzt bearbeitet von einem Moderator:

Marco13

Top Contributor
Was ist daran so abwegig? Man setzt einen Wert/Farbe, und dieser Wert/Farbe ändert sich langsam, und das will man sehen... :bahnhof:

Ein Thread ist schon das richtige. Die Details sind noch zu klären. Wodurch soll die Farbe festgelegt werden?
 

bERt0r

Top Contributor
Ja daran ist nichts abwegig, aber darauf wär ich durch die Beschreibung im OP nicht gekommen. Ist es das was du erreichen willst Truespirit?
 

TrueSpirit

Mitglied
Erstmal danke für eure Antworten.

Vielleicht hab ich mich in der Beschreibung etwas missverständlich ausgedrückt.
Genau das was Marco13 beschreibt, möchte ich erreichen, die Zeilen sollen sich für den Anwender sichtbar einfärben.

Die Festlegung der Farbe anhand eines Wertes habe ich schon umgesetzt.
Bis jetzt sieht mein Renderer so aus:

Java:
public class TableCellRendererStepView extends DefaultTableCellRenderer
{
    private Color green = new Color(127, 255, 212);//
    private Color red = new Color(255, 85, 85);
    private Color yellow = new Color(255, 255, 0);//
    private RunHistoryOfOneRun runHistory;

    public TableCellRendererStepView(CaseStepFrame stepFrame)
    {
        this.runHistory = stepFrame.getRunHistory();
    }



    @Override
    public Component getTableCellRendererComponent(JTable table, Object value,
                                                   boolean isSelected, boolean hasFocus, int row, int column)
    {
        Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        Color currentCol = null;
        currentCol = green;
        cell.setBackground(currentCol);
        ArrayList<ErrorModel> data = runHistory.getErrors();
        for (int i = 0; i < data.size(); i++)
        {
            if (Integer.parseInt(data.get(i).getRunningId()) == row+1)
            {                        
                if (data.get(i).getInfoId().equals("3"))
                {
                    currentCol = red;//
                    cell.setBackground(currentCol);

                }
                else if (data.get(i).getInfoId().equals("4"))
                {
                    currentCol = yellow;
                    cell.setBackground(currentCol);
                }
                else if (data.get(i).getInfoId().equals("0"))
                {
                    currentCol = green;
                    cell.setBackground(currentCol);
                }
                else
                {
                    currentCol = Color.blue;
                    cell.setBackground(currentCol);
                }
            }
         
        }
        super.setValue(value);
        return this;
    }
}

Wie im Code zu sehen, soll die Färbung der Zeile anhand der InfoId geschehen. Gibt es zur row eine runningId, dann möchte ich die Zeile anhand der infoId einfärben.

Soweit funzt der Code, wenn ich jetzt einen Thread einbaue, wird der Thread zwar ausgeführt aber halt nicht für den User sichtbar. Erst wenn alle Rows gefärbt wurden, erfolgt der repaint des Tables.

Hier ist mein Ansatz mit Thread:

Java:
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value,
                                                   boolean isSelected, boolean hasFocus, int row, int column)
    {
        Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        Color currentCol = null;
        currentCol = green;
        cell.setBackground(currentCol);
    
     try
        {
            Thread.sleep(500);
        }
        catch (InterruptedException ex)
        {
            Logger.getLogger(TableCellRendererStepView.class.getName()).log(Level.SEVERE, null,ex);
        }

        ArrayList<ErrorModel> data = runHistory.getErrors();
        for (int i = 0; i < data.size(); i++)
        {
            if (Integer.parseInt(data.get(i).getRunningId()) == row+1)
            {                        
                if (data.get(i).getInfoId().equals("3"))
                {
                    currentCol = red;//
                    cell.setBackground(currentCol);

                }
                else if (data.get(i).getInfoId().equals("4"))
                {
                    currentCol = yellow;
                    cell.setBackground(currentCol);
                }
                else if (data.get(i).getInfoId().equals("0"))
                {
                    currentCol = green;
                    cell.setBackground(currentCol);
                }
                else
                {
                    currentCol = Color.blue;
                    cell.setBackground(currentCol);
                }
            }
         
        }
        super.setValue(value);
        return this;
    }

Ich glaube mein Thread blockiert den Swing-Thread und daher kann der Table nicht neugezeichnet werden. Lieg ich da mit meiner Vermutung richtig und wie kann ich mein Vorhaben umsetzten?
 

bERt0r

Top Contributor
Thread und Renderer müssen zwei verschiedene Sachen sein. Hier ein Beispiel:
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingWorker;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;


public class TableVerlauf extends JFrame
{
	private JPanel contentPane;
	private JScrollPane scrollPane;
	private JTable table;
	private JPanel panel;
	private JButton btnChooseTopColor;
	private JButton btnChooseBottomColor;
	private VerlaufsTableCellRenderer renderer;
	private DefaultTableModel model;
	private JButton button;
	private JButton button_1;
	
	/**
	 * Launch the application.
	 */
	public static void main(String[] args)
	{
		EventQueue.invokeLater(new Runnable()
			{
				public void run()
				{
					try
					{
						TableVerlauf frame = new TableVerlauf();
						frame.setVisible(true);
					} catch (Exception e)
					{
						e.printStackTrace();
					}
				}
			});
	}
	
	/**
	 * Create the frame.
	 */
	public TableVerlauf()
	{
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		scrollPane = new JScrollPane();
		contentPane.add(scrollPane, BorderLayout.CENTER);
		
		table = new JTable();
		model=new DefaultTableModel(
				new Object[][] {
						{"1", null, null},
						{"2", null, null},
						{"3", null, null},
						{"4", null, null},
						{"5", null, null},
						{"6", null, null},
						{"7", null, null},
						{"8", null, null},
						{"9", null, null},
						{"10", null, null},
					},
					new String[] {
						"A", "B", "C"
					}
				);
		table.setModel(model);
		renderer=new VerlaufsTableCellRenderer();
		table.setDefaultRenderer(Object.class, renderer);
		scrollPane.setViewportView(table);
		
		panel = new JPanel();
		contentPane.add(panel, BorderLayout.SOUTH);
		
		btnChooseTopColor = new JButton("Choose Top Color");
		btnChooseTopColor.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) 
			{
				Color col=JColorChooser.showDialog(TableVerlauf.this, "Top Color", renderer.getTop());
				FadeColorWorker worker=new FadeColorWorker(col,true);
				worker.execute();
			}
		});
		panel.add(btnChooseTopColor);
		
		btnChooseBottomColor = new JButton("Choose Bottom Color");
		btnChooseBottomColor.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) 
			{
				Color col=JColorChooser.showDialog(TableVerlauf.this, "Top Color", renderer.getTop());
				FadeColorWorker worker=new FadeColorWorker(col,false);
				worker.execute();
			}
		});
		panel.add(btnChooseBottomColor);
		
		button = new JButton("+");
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) 
			{
				int selectedRow=table.getSelectedRow();
				if(selectedRow<0)
				{
					selectedRow=table.getRowCount();
				}
				model.insertRow(selectedRow,new Object[] {model.getRowCount()+1,null,null});
			}
		});
		panel.add(button);
		
		button_1 = new JButton("-");
		button_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) 
			{
				int selectedRow=table.getSelectedRow();
				if(selectedRow<0)
				{
					selectedRow=table.getRowCount()-1;
				}
				if(selectedRow>-1)
				{
					model.removeRow(selectedRow);
				}
			}
		});
		panel.add(button_1);
	}
	
	class VerlaufsTableCellRenderer extends DefaultTableCellRenderer
	{
		public void setTop(Color c)
		{
			top=c;
		}
		
		public void setBottom(Color c)
		{
			bottom=c;
		}
		
		Color top=new Color(50,100,200),bottom=new Color(200,230,170);

		@Override
		public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
				boolean hasFocus, int row, int column)
		{
			Component c=super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
			
			float alpha=(float) row/table.getRowCount();
			
			Color col=getColorBetween(top,bottom,alpha);
			c.setBackground(col);
			return c;
		}

		public Color getTop()
		{
			return top;
		}

		public Color getBottom()
		{
			return bottom;
		}
	}
	
	class FadeColorWorker extends SwingWorker
	{
		Color newColor, oldColor;
		boolean isTop;
		
		FadeColorWorker(Color col, boolean top)
		{
			newColor=col;
			isTop=top;
			if(isTop)
			{
				oldColor=renderer.getTop();
			}
			else
			{
				oldColor=renderer.getBottom();
			}
		}
		
		@Override
		protected Object doInBackground() throws Exception
		{
			for(int i=0;i<10;i++)
			{
				float alpha=(float) i/10;
				
				Color col=getColorBetween(oldColor,newColor,alpha);
				if(isTop)
				{
					renderer.setTop(col);
				}
				else
				{
					renderer.setBottom(col);
				}
				table.repaint();
				Thread.sleep(100);
			}
			return null;
		}		
	}
	
	private Color getColorBetween(Color c1, Color c2,float alpha)
	{
		int r=(int) (c1.getRed() - (c1.getRed()-c2.getRed())*alpha);
		int g=(int) (c1.getGreen() - (c1.getGreen()-c2.getGreen())*alpha);
		int b=(int) (c1.getBlue() - (c1.getBlue()-c2.getBlue())*alpha);
		
		return new Color(r,g,b);
	}
}
 

Michael...

Top Contributor
Du hast keinen Thread eingebaut, Du hast hier ein Thread.sleep(...) eingebaut, welches Deinen Thread für 500ms blockt.

Muss die Schleife in der getTableCellRendererComponent tatsächlich sein? Das scheint mir ein bisschen ungünstig, wenn nicht sogar falsch? Diese Methode wird jedesmal zum Zeichnen einer Zelle aufgerufen und möglichst effizient ablaufen.
 

TrueSpirit

Mitglied
Das mit der Schleife im Renderer finde ich selber auch nicht so elegant gelöst. Muss die ArrayList durchlaufen, um zu schauen ob es eine runningId zur row gibt. Das Array wird jetzt für jede Zelle im durchgschnitt 40 mal durchlaufen? Denkst du das es eine nachteiligen Effekt haben kann?

Wie kann ich den Thread sauber in meinem Renderer implementieren?
 

TrueSpirit

Mitglied
Hab ich gemacht, mir ist bei deinem Code unklar wie die Implementierung des SwingWorkers realsiert ist. Den Renderer bindest du hiermit ein:

Java:
 table.setDefaultRenderer(Object.class, renderer);

Muss ich den Code für den SwingWorker mit in die Klasse des Renderes packen?
 

Michael...

Top Contributor
Das mit der Schleife im Renderer finde ich selber auch nicht so elegant gelöst. Muss die ArrayList durchlaufen, um zu schauen ob es eine runningId zur row gibt. Das Array wird jetzt für jede Zelle im durchgschnitt 40 mal durchlaufen? Denkst du das es eine nachteiligen Effekt haben kann?
Hängt wohl von der Anzahl der dargestellten bzw. zu aktualisierenden Zellen ab, aber schön ist es nicht. Nach Möglichkeit würde ich alle relevanten Informationen bzw. soviel Information wie möglich im TableModel bzw. im Objekt der Zelle halten und im Renderer direkt auswerten.
Wie kann ich den Thread sauber in meinem Renderer implementieren?
Renderer und Thread haben dann nichts miteinander zu tun bzw. einen Thread im Renderer zu implementieren wäre falsch. Wenn die Information im TableModel bzw. "Zellenobjekt" enthalten ist. Reicht es vollkommen aus den im Thread den Zellwert zu verändern. Durch einen Update Mechanismus (ist z.B. im DefaultTableModel enthalten) wird die Darstellung der Zelle "automatisch" aktualisiert.
 

bERt0r

Top Contributor
Der SwingWorker ist von Zeile 187 bis 227 realisiert. In der doInBackground methode wird darin alle 100 Millisekunden die obere bzw. untere Farbe des Farbverlaufes im Table gesetzt - Stufenweise bis die vorher spezifizierte Farbe erreicht ist. getColorBetween hilft dabei die Farbe für einen weichen Übergang zwischen zwei Farben zu erhalten.
Wie ich den Renderer einbinde ist egal, wichtig ist wie er implementiert ist. Die zwei setFunktionen im Renderer ermöglichen es dem Thread die Farbe nach Wunsch zu ändern.
 

TrueSpirit

Mitglied
Hi,

sory das ich jetzt erst antworte, war die letzten zwei Wochen im Urlaub.

@bERt0r das ist ja ein nettes kleines Tool das du da gebaut hast. Wie muss ich den SwingWorker implementieren wenn mein Renderer in einer eigenen Klasse liegt? Gehört der SwingWorker dann in die GUI-Klasse?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JTable Drag and Drop von Zeilen innerhalb einer Table AWT, Swing, JavaFX & SWT 2
Nicklas2751 Table View zeigt keinen Inhalt nur leere Zeilen AWT, Swing, JavaFX & SWT 2
C Default table model aktualisieren AWT, Swing, JavaFX & SWT 7
J Anbindung Textfeldklasse an Table funktioniert nicht AWT, Swing, JavaFX & SWT 3
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
S JavaFX Boolean ändern Table View AWT, Swing, JavaFX & SWT 14
B JavaFX JavaFX Table gespeichertes Wert auswählen/anvisieren AWT, Swing, JavaFX & SWT 3
C TableModel zugehörige Table ermitteln AWT, Swing, JavaFX & SWT 3
T Table Renderer AWT, Swing, JavaFX & SWT 2
T Default Table wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
E JavaFX Von der Table-Cell zur Row AWT, Swing, JavaFX & SWT 0
A JavaFX Table Delete Row AWT, Swing, JavaFX & SWT 5
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
D JavaFX Table Filter AWT, Swing, JavaFX & SWT 4
R Swing JTable : Header der Spalten ergänzen mit caption (wie bei html-table) AWT, Swing, JavaFX & SWT 2
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
J JTabbedPane: table in new tab: tooltip benutzt die column-widths von table in erstem geöffneten tab AWT, Swing, JavaFX & SWT 17
G Border der Komponente bei Table CellRenderer überschreiben AWT, Swing, JavaFX & SWT 0
M MouseListener auf table oder scrollPane AWT, Swing, JavaFX & SWT 11
T SWT checkbox in table AWT, Swing, JavaFX & SWT 6
Z JavaFX Table mit MenuButton AWT, Swing, JavaFX & SWT 6
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
E extended Swing Table AWT, Swing, JavaFX & SWT 2
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
E SWT Popupmenu auf der Überschrift eines swt.widgets.Table verhindern? AWT, Swing, JavaFX & SWT 3
reibi SWT SWT - Table AWT, Swing, JavaFX & SWT 8
A Swing JButton in einer Table Cell AWT, Swing, JavaFX & SWT 9
lumo SWT JFace Databinding +Custom Table AWT, Swing, JavaFX & SWT 2
M SWT - Table deselecten AWT, Swing, JavaFX & SWT 2
R SWT | Table | Zeilenkopf AWT, Swing, JavaFX & SWT 2
M SWT Table disabled und Scrollbar enabled AWT, Swing, JavaFX & SWT 11
C [SWT] Widget Table verliert nach Sortierung farbige / eingefärbter Background / Zellen AWT, Swing, JavaFX & SWT 3
L Inhalt einer table löschen AWT, Swing, JavaFX & SWT 2
L Jbutton in table AWT, Swing, JavaFX & SWT 2
lumo SWT Table Selection Color +Focus Out AWT, Swing, JavaFX & SWT 14
S SWT Maximum an Items in Table? AWT, Swing, JavaFX & SWT 2
F SWT table refresh per Thread AWT, Swing, JavaFX & SWT 2
Q SWT Mindetsgröße für Table AWT, Swing, JavaFX & SWT 7
1 Swing manual resize table column to min size AWT, Swing, JavaFX & SWT 2
hdi SWT SWT Table: 2 kleine Probleme AWT, Swing, JavaFX & SWT 4
S SWT Table Größen verändern AWT, Swing, JavaFX & SWT 10
lumo SWT Table und Klassen AWT, Swing, JavaFX & SWT 14
lumo SWT Table CellEditor - knifflig AWT, Swing, JavaFX & SWT 35
M SWT Table mit Columns und Items AWT, Swing, JavaFX & SWT 3
L Java Table AWT, Swing, JavaFX & SWT 4
F Swing J(X)Table Spalten umsortieren NUR im View (Wie finde ich eine Spalte nach Name?) AWT, Swing, JavaFX & SWT 3
A SWT Table mit Bildern und Checkboxes AWT, Swing, JavaFX & SWT 4
A SWT Table hat keine Scrollbar AWT, Swing, JavaFX & SWT 12
A SWT Table clearAll() und zurücksetzen. AWT, Swing, JavaFX & SWT 3
K SWT Table Modell / Datenmodell AWT, Swing, JavaFX & SWT 14
S Table oder TableModel so ueberschreiben, dass Columns minimale Breite haben? AWT, Swing, JavaFX & SWT 2
T SWT - Table Events AWT, Swing, JavaFX & SWT 3
B SWT - Drag & Drop innerhalb einer Table AWT, Swing, JavaFX & SWT 3
T Fokus auf CB in Table mit beliebiger Taste AWT, Swing, JavaFX & SWT 12
S swt table mit checkboxen: wie nachträglich im code setzen? AWT, Swing, JavaFX & SWT 6
S Seltsam: SWT Table zeigt keine Scrollbar an AWT, Swing, JavaFX & SWT 12
G SWT-Table sortieren AWT, Swing, JavaFX & SWT 12
T Input-Check bei Textfeldern in Table AWT, Swing, JavaFX & SWT 5
G SWT Table Controll AWT, Swing, JavaFX & SWT 7
L SWT-Table: Datum ausgeben? AWT, Swing, JavaFX & SWT 5
G Table in SWT AWT, Swing, JavaFX & SWT 2
S Table Row per Drag and Drop in andere Table schieben? AWT, Swing, JavaFX & SWT 14
S SWT Table - Wie Columns hinzufügen / entfernen AWT, Swing, JavaFX & SWT 3
K javax.swing.table.TableRowSorter AWT, Swing, JavaFX & SWT 13
I JComboBox in Table AWT, Swing, JavaFX & SWT 4
G wo wird die table mit daten gefüllt? oô AWT, Swing, JavaFX & SWT 4
S SWT Drag&Drop / Table AWT, Swing, JavaFX & SWT 9
E JTable-während der Einfügezeit der Zellen in die Table AWT, Swing, JavaFX & SWT 2
S table - combobox AWT, Swing, JavaFX & SWT 7
D Selection SWT Table AWT, Swing, JavaFX & SWT 5
D SWT Table AWT, Swing, JavaFX & SWT 5
P Table Layout remove()? AWT, Swing, JavaFX & SWT 2
W Zeile in Table (SWT) selektieren und auslesen AWT, Swing, JavaFX & SWT 4
G Dringend ! SWT-Table übernimmt Änderung nicht AWT, Swing, JavaFX & SWT 2
L Multiline Table AWT, Swing, JavaFX & SWT 3
R SWT: Icons im Table vor den Einträgen AWT, Swing, JavaFX & SWT 3
T mit rechter maustaste Table row selektieren AWT, Swing, JavaFX & SWT 2
F Zeilenhöhe bei SWT Table AWT, Swing, JavaFX & SWT 3
S Nochmal Spaltenbriete im Table AWT, Swing, JavaFX & SWT 2
G mal wieder table. AWT, Swing, JavaFX & SWT 3
V SWT Table mit SWT.CHECK AWT, Swing, JavaFX & SWT 2
P SWT table updaten AWT, Swing, JavaFX & SWT 7
S Frage zu Table(Column)Model AWT, Swing, JavaFX & SWT 3
J ScrollPanel mit 2 Table`s AWT, Swing, JavaFX & SWT 5
J Table Model AWT, Swing, JavaFX & SWT 2
J Abstract Table Model AWT, Swing, JavaFX & SWT 7
T in einer Table soll jede zweite Zeile markiert werden AWT, Swing, JavaFX & SWT 3
E Inhalt einer Zelle eine Table in ein TextField bekommen AWT, Swing, JavaFX & SWT 24
Encera TableView Zeilen als Spalten im SceneBuilder AWT, Swing, JavaFX & SWT 0
A Mit JavaFX einzelne Zeilen in TableView farbig markieren AWT, Swing, JavaFX & SWT 5
missy72 JavaFX TableView Spalte zwischen den Zeilen AWT, Swing, JavaFX & SWT 5
T TableView Zeilen einfärben AWT, Swing, JavaFX & SWT 13
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
S JavaFX JavaFX TableView scrollen färbt falsche Zeilen AWT, Swing, JavaFX & SWT 1
adiko01 JTable: Nur markierte Zeilen aus der Tabelle in CSV exportiern AWT, Swing, JavaFX & SWT 9
H JTextArea - farbige Zeilen .. bitte um Vorschläge zur Implementierung AWT, Swing, JavaFX & SWT 1
M Befüllung der einzelnen Zeilen des TableView AWT, Swing, JavaFX & SWT 3
Viktim Swing JTable Mit Tab druch Zeilen Wechseln AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben