JTable einfärben bei Änderung

Kommentier dann mal alles aus. So das nur noch die Tabelle erstellt und hinzugefuegt wird. Meinetwegen kannst auch ne neue leere Tabelle erstellen und die mal hinzufuegen und dann probieren die Groesse zu aendern.
 
Sooooo
so schauts bis jez aus ... und es funktioniert nicht :(

Java:
private JTable getJTableProcesses() {
	if (jTableProcesses == null) {
	final ProcessTableModel model = new ProcessTableModel();	}	
	jTableProcesses = new JTable(model);
	jTableProcesses.setOpaque(true);
	getJScrollPane().setViewportView(jTableProcesses);
	
jTableProcesses.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 
	
model.fireTableStructureChanged();
	
for(int index=0;index < jTableProcesses.getColumnCount();index++)	
jTableProcesses.getColumnModel().getColumn(index).setWidth(100);
                          
final ListSelectionModel listSelectionModel =                            jTableProcesses.getSelectionModel();		
listSelectionModel.addListSelectionListener(new ListSelectionListener() { 
		        @Override 
		        public void valueChanged(ListSelectionEvent e) {
		        	model.fireTableStructureChanged();
		        	jTableProcesses.setBackground(Color.red);
		        }
		}); 

			jTableProcesses.getModel().addTableModelListener(model);
			jTableProcesses.repaint();
			jTableProcesses.addMouseListener(new TableListener(
					getJPopupMenuProcessAction(jTableProcesses)));
			
		}
		return jTableProcesses;
	}
 
Breite ....
Die bleibt immer gleich.
Die Farbe wird gesetzt wenn ich das erste Element selektiere!
Das muss ich noch ändern sodass es nur eingefärbt wird wenn ein neues dazu kommt!
 
Hast du ma versucht alles rauszunehmen, nur das erstellen und das aendern der Grosse drin zu lasen. Bzw nur eine Spalte zu aendern?
 
Hallo
also das mit der Breite geht jez so einigermassen nach vielem herum löschen :D
so aber jetzt is die höhe blöd. ... Die hab ich jetzt Hardcodiert im code , will aber das sie sich den elementen in der table anpasst. also je nach anzahl der elementen wird die höhre verändert (jetzt hab ich eine weiße fläche unter meiner table)

Java:
jTableProcesses = new JTable(model);
			
			getJScrollPane().setViewportView(jTableProcesses);
			jTableProcesses.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 
			model.fireTableStructureChanged();
			jTableProcesses.setPreferredSize(new Dimension(350,300));
//			for(int index=0;index < jTableProcesses.getColumnCount();index++)
//				jTableProcesses.getColumnModel().getColumn(index).setWidth(225);
			
			final ListSelectionModel listSelectionModel = jTableProcesses.getSelectionModel();
			listSelectionModel.addListSelectionListener(new ListSelectionListener() { 
		        @Override 
		        public void valueChanged(ListSelectionEvent e) {
		        	model.fireTableStructureChanged();
//		        	jTableProcesses.getColumnModel().getColumn(1).setBackground(Color.red);
		        }
		}); 

			jTableProcesses.getModel().addTableModelListener(model);
			jTableProcesses.repaint();
			jTableProcesses.addMouseListener(new TableListener(
					getJPopupMenuProcessAction(jTableProcesses)));
 

Neue Beiträge

Zurück