SWT Table disabled und Scrollbar enabled

Madli

Mitglied
Hi

ich habe folgendes Problem.
Ich verwende einen CheckboxTableViewer und will die Table deaktivieren aber die Scrollbalken nicht.

naheliegend währe ja eigendlich:

Java:
table.setEnabled(false);
table.getHorizontalBar().setEnabled(true);

Aber der Bar bleibt trotzdem disabled. Im SWT Scrollbar gibt es ja auch 2 Methoden um den Status abzufragen:

Java:
public boolean getEnabled () {
	checkWidget();
	return (state & DISABLED) == 0;
}

Java:
public boolean isEnabled () {
	checkWidget();
	return getEnabled () && parent.isEnabled ();
}

Meine Vermutung ist, das beim setzen der GUI isEnabled verwendet wird und ich deswegen den Scrollbalken nicht aktiv bekomme.
Kann mir jemand sagen wie ich das Problem lösen kann?

Danke im Vorraus
Madli
 

Madli

Mitglied
Keiner der mir helfen kann?
Das Problem muss doch bekannt sein, oder funktionier das nur bei mir nicht?
Hab schon wie wild das Internet durchstöbert aber nix gefunden.
 
G

Gast2

Gast
Was soll dass denn bringen? Was hast du denn genau vor?
Warum muss die Tabelle disabled sein? Man kann doch eh nichts eingeben
 

Madli

Mitglied
Na eigendlich sollen die Checkboxes disabled sein aber ansich gehts auch um das Prinzip.
Ich möchte verstehen warum der Scrollbalken nicht eingeschaltet wird wenn ich
Java:
table.getHorizontalBar().setEnabled(true);
mache.
 
G

Gast2

Gast
Na eigendlich sollen die Checkboxes disabled sein aber ansich gehts auch um das Prinzip.
Ich möchte verstehen warum der Scrollbalken nicht eingeschaltet wird wenn ich
Java:
table.getHorizontalBar().setEnabled(true);
mache.

Mach mal ein ein Beispiel (KSKB).
 

Madli

Mitglied
Ok ich hab mal ein Minimalprogramm geschrieben, es sollte das Problem verdeutlichen.

Java:
import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;

public class TestWidget extends Composite
{

	public TestWidget(Composite parent)
	{
		super(parent, SWT.NONE);
		// TODO Auto-generated constructor stub
		createTable();
	}

	private void createTable()
	{
		Table table = new Table(this, SWT.CHECK | SWT.FULL_SELECTION | SWT.HIDE_SELECTION | SWT.VIRTUAL | SWT.BORDER);
		table.setHeaderVisible(true);
		CheckboxTableViewer tableViewer = new CheckboxTableViewer(table);
		tableViewer
				.add("Das ist ein verdammt langer Text, so das ein Scrollbalken erscheinen sollte!!! Denn so ein Text muss einfach gescrollt werden auch wenn die Checkbox ausgeschaltet ist.");
		GridData layoutData = new GridData(GridData.FILL, GridData.FILL, true, true);
		layoutData.heightHint = 5 * table.getItemHeight();
		layoutData.widthHint = 500;
		setLayoutData(layoutData);
		setLayout(new GridLayout(1, true));
		table.setEnabled(false);
		table.getHorizontalBar().setEnabled(true);
		//Hier sollte man normalerweise noch scrollen können

	}

	public static void main(String[] args)
	{
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setLayout(new GridLayout());
		TestWidget testWidget = new TestWidget(shell);
		shell.open();
		while (!shell.isDisposed())
		{
			if (!display.readAndDispatch())
				display.sleep();
		}
	}

}

eigendlich sollte die Tabelle hier noch Scrollbar sein auch wenn der Inhalt disabled ist.

Vielen Dank
Madli
 

Sonecc

Gesperrter Benutzer
IMHO ist das ne relativ logische Konsequenz.
Das disablen eines Widgets führt dazu, dass dieses nicht mehr angewählt werden kann. Bei dieser Table bedeuted dies zwangsweise, dass alle enthaltenen Widgets ebenfalls nicht angewählt werden können.

Oder mal an nem platten Beispiel:
Wenn der Backofen keinen Strom hat, kannst du weder Herdplatte noch Ofen benutzen
 

Madli

Mitglied
Also muss das so sein? Find es halt nur komisch das man den Scrollbalken nach der Deaktivierung des tables nicht wieder aktivieren kann. Weil wenn ich der Herdplatte extra Strom gebe, hat der Backofen keinen Strom aber die Herdplatte :)
 

Sonecc

Gesperrter Benutzer
Ich hoffe du hast mein Beispiel verstanden und grad einfach nur zerpflückt.

Aber da du es vermutlich nicht ganz verstanden hast. Beim Disablen der Table wird der Scrollbalken nicht disabled. Er ist weiterhin enabled, nur eben nicht anwählbar, weil das ganze Widget (zu dem die scrollbar nunmal gehört) disabled ist.
 
G

Gast2

Gast
Ich hoffe du hast mein Beispiel verstanden und grad einfach nur zerpflückt.

Aber da du es vermutlich nicht ganz verstanden hast. Beim Disablen der Table wird der Scrollbalken nicht disabled. Er ist weiterhin enabled, nur eben nicht anwählbar, weil das ganze Widget (zu dem die scrollbar nunmal gehört) disabled ist.

Richtig das ganze Composite von dem die Table erbt ist disabled sieht du an der farbe der Scrollbar.
Java:
table.getHorizontalBar().setEnabled(false);

Find ich eigentlich auch ein Bug, dass nicht alle Childrens disabled dargestellt werden.
 
Zuletzt bearbeitet von einem Moderator:

Madli

Mitglied
Ok dann habe ich das jetzt verstanden, nicht so schön wie in meiner Vorstellung aber ich denke wenn man es weiss kommt man damit klar :)


Danke Euch
Madli
 
G

Gast2

Gast
Ok dann habe ich das jetzt verstanden, nicht so schön wie in meiner Vorstellung aber ich denke wenn man es weiss kommt man damit klar :)


Danke Euch
Madli

Du kannst mal ins Eclipse Forum zu SWT schreiben vielleicht wissen die wie man den CheckBoxTableViewer readonly machen kann.

Ansonsten sourcen anschauen, ich denk mal irgendwo gibt es einen EditingSupport und den kannst du eventuell abschalten (canEdit):
Eclipse RCP: JFace TableViewer
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
C JTable Drag and Drop von Zeilen innerhalb einer Table AWT, Swing, JavaFX & SWT 2
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
T Table-Zeilen mit Thread einfärben AWT, Swing, JavaFX & SWT 15
E SWT Popupmenu auf der Überschrift eines swt.widgets.Table verhindern? AWT, Swing, JavaFX & SWT 3
Nicklas2751 Table View zeigt keinen Inhalt nur leere Zeilen AWT, Swing, JavaFX & SWT 2
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
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
C JToggleButton disabled Text Color AWT, Swing, JavaFX & SWT 11
C JCheckBox disabled text color AWT, Swing, JavaFX & SWT 9
C JTextField Inhalt mit Maus selektieren wenn disabled AWT, Swing, JavaFX & SWT 2
M JavaFX TextArea disabled - ScrollBar enabled AWT, Swing, JavaFX & SWT 3
C Swing MenuItem feuert Action nur wenn disabled AWT, Swing, JavaFX & SWT 2
B JList -> Disabled AWT, Swing, JavaFX & SWT 6
A Swing Bug in Swing? Wenn checkbox disabled reagiert ActionListener nicht AWT, Swing, JavaFX & SWT 5
T disabled Checkbox soll trotzdem Focus bekommen AWT, Swing, JavaFX & SWT 9
J Swing Cursor von Child falsch, wenn Parant disabled AWT, Swing, JavaFX & SWT 2
F JButton Text-Farbe bei Disabled AWT, Swing, JavaFX & SWT 2
A Bei Klick auf disabled JMenuItem JMenu nicht schließen AWT, Swing, JavaFX & SWT 2
C Hintergrundfarbe von einem disabled Button ändern ? AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben