Nerviges Gepiepe beim Nutzen von KeyListenern & Scrollbare Composites

Status
Nicht offen für weitere Antworten.

dzim

Top Contributor
Hallo zusammen,

ich musste heute nach einiger Zeit SWT-Abstinenz einige recht nervige "Features" mich mit zwei nervigen Problem rumärgern:

1) Wenn ich einen KeyListener an eine Liste (oder Tabelle, das ist in dem Fall ja egal) ranhänge, fängt bei den abgefangen Key-Events (hier das Nutzen der Entfernen-Taste in einer Liste) der Speaker an unter Linux ein nettes "PIEP" von sich zu geben...
Die Frage ist: Wieso? Und: Wie bekomm ich das weg?

2) Scrollbare Composites... Also mal ehrlich, das ist doch ein "pain in the ass"!
Ich habe eine Composite-Klasse, die in ein TabItem geladen wird, wessen TabFolder wiederum in einer Group sitzt - kling jetzt vielleicht recht übertrieben, macht es aber recht übersichtlich.
Jetzt ist es potentiell so, das er Inhalt meiner eigenen Composite-Klasse etwas größer werden kann, als die Fläche, die mir in der Group zur Verfügung steht, da wollte ich jetzt vertikales scrollen zulassen. SWT.V_SCROLL ist definitv nicht sehr hilfreich (jedenfalls unter GTK nicht), wenn man es an das Composite beim Start übergibt. Es erscheint dann zwar ein Scrollbalken, der aber nicht das Composite tatsächlich scrollt - oder ich stell mich zu dämlich an. Es an das TabItem, den TabFolder oder die Group zu ebergeben bringt scheinbar auch nichrs.
ScrollableComposite, dachte ich, könnte die Lösung sein. Leider zeigt das auch nach einigem Versuchen nichts an. Das Composite bleibt dann immer komplett leer. Das hier >> Java Tips - How to make View scrollable in SWT << hat mir da nicht weitergeholfen... Ich habe es über eine Zwischenklasse versucht, der ich das andere Composite gegeben hab.
Java:
public class SingleReportConfigScrolledComposite extends ScrolledComposite {

	public SingleReportConfigScrolledComposite(Composite parent, int style,
			SingleReportConfig reportConfig) {

		super(parent, style | SWT.BORDER | SWT.V_SCROLL);

		SingleReportConfigComposite content = new SingleReportConfigComposite(
				this, style, reportConfig);

		setContent(content); // also mal im Ernst, das ist doch bekloppt, oder?
		setExpandVertical(true); // klingt logisch, es soll dalang scrollen, aber wozu dann SWT.V_SCROLL?
		setMinSize(content.computeSize(1000, 1000)); // keine Ahnung, was das hier soll
	}
}

Wenn ihr mir beim ersten oder zweiten Problem weiterhelfen könnt... Das wär toll! :)

So, ansonsten erst mal ein schönes Wochenende!
 

Koringar

Bekanntes Mitglied
Hi,

also bei deiner ersten Frage kann ich dir leider nicht weiterhelfen, aber zu der zweiten.
Es ist doch ganz gut erklärt in den Link denn du da gepostet hast, du erstellst in der View selbst als erstes das Scrollbare Composite und dann deine Composite's (Elemete), die du Angezeigt bekommen haben willst und übergibt sie am Ende der Scrollbare Composite.

Hier mal ein Beispiel:

Java:
sc = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);		
		
		groupMonitorEintrag = new Composite(sc, SWT.NONE);
		GridLayout gridLayout = new GridLayout ();
		gridLayout.numColumns = 2;
		groupMonitorEintrag.setLayout (gridLayout);
		
		lbnID = new CLabel (groupMonitorEintrag, SWT.NONE);
		lbnID.setText ("Text:");
		
		txtID = new Text (groupMonitorEintrag, SWT.BORDER);
          txtID.setText("Hallo"); 

          sc.setContent(groupMonitorEintrag);
	    sc.setMinSize(groupMonitorEintrag.computeSize(SWT.DEFAULT, SWT.DEFAULT));
	    sc.setExpandHorizontal(true);
	    sc.setExpandVertical(true);
 

dzim

Top Contributor
Hui

ich weiß nicht, was du anders gemacht hast als ich, aber ich hab jetzt mal wie du das blöde ScrolledCompoiste überall um kritische eigene Composites herumgewrappt und - oh Wunder - es geht!

Danke für den Tipp mit Quellcode - das hat echt geholfen!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Eclipse Probleme beim Ausführen eines Programms Plattformprogrammierung 3
G Nullpointer im Debugger, jedoch nicht beim normalen Starten Plattformprogrammierung 12
W Eclipse vergißt beim Exportieren Resources-Ordner Plattformprogrammierung 11
C Eclipse: Notification beim umbennen von Methoden? Plattformprogrammierung 4
M OSGi Probleme / Unklarheiten beim laden von DLL's Plattformprogrammierung 4
dzim OSGi Problem beim Verwenden von Declaratice Services Plattformprogrammierung 18
L RCP Exception beim Ausführen von BIRT Application Plattformprogrammierung 2
Mike90 Error beim Öffnen einer RCP-App Plattformprogrammierung 2
W SWTException beim Schließen einer ViewPart Plattformprogrammierung 13
M EMF Model Transaction Fehler beim Updaten eines Graphiti-Pictogramms Plattformprogrammierung 2
L RCP Detached View beim Starten des RCPs? Plattformprogrammierung 3
lumo RCP Beim wechsel der Perspektive automatisch Views aktivieren Plattformprogrammierung 6
X b3 aggregator - Erfahrungen beim spiegeln von p2 Update Sites Plattformprogrammierung 10
jemandzehage Kurze Fehlernachricht beim starten in Eclipse Plattformprogrammierung 5
dzim Veränderte Abhängigkeiten beim Umstieg von 3.5.2 auf 3.6.1 Plattformprogrammierung 9
J RCP, Fehler beim MultiPageEditor, Widget is disposed Plattformprogrammierung 4
G Probleme beim Export Plattformprogrammierung 2
dzim Problem beim neuanlegen von Composites Plattformprogrammierung 4
S Plugin: View beim Button-Klick austauschen Plattformprogrammierung 7
K Keine EXE beim Export Plattformprogrammierung 10
M Teilweise Probleme beim Updaten von Plugins Plattformprogrammierung 3
S Versionsprobleme beim Erstellen eines Plugins Plattformprogrammierung 6
S View speichern/laden beim schließen Plattformprogrammierung 14
B Simple Action beim Speichern in Eclipse... Plattformprogrammierung 2
M Problem beim Zugriff auf Klasse aus Fragment in einem anderen Plugin Plattformprogrammierung 3
N Beim starten addPartListener() benutzen Plattformprogrammierung 2
dzim java.lang.ClassNotFoundException beim laden eines Plugins Plattformprogrammierung 10
T [RCP] Was passiert genau beim laden eines Plugins? Plattformprogrammierung 4
dzim Fehler beim starten eines Produkts Plattformprogrammierung 5
V Eclipse RCP Encoding beim Export Plattformprogrammierung 4
V Ich brauche hilfe beim Eclipse RCP Export Plattformprogrammierung 8

Ähnliche Java Themen

Neue Themen


Oben