Home
/
JavaForum
/
Swing + AWT
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
4.426 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 1447 von 1460 (99%)
Autor
Gast
Datum
10.08.06, 18:00
Betreff
SWT
Hallo für alle,
in meinem Programm, werden bestimmte Labels und Felder agezeigt, abhängig von einer Selektion :ZB wenn ein "String" selektiert wird, sieht man bestimmte Felder in der betroffenen Gruppe (sagen wir mal Group A)
In diesen Felder wird ein Text eingegeben und dann eigelesen und gespeichert (in einer xlm Datei)
Mein Problem besteht darin, wenn man die erste Selektion macht, werte eingibt läuft all das perfekt.Aber ab der zweiten Selektion bleibt das Display von der ersten in der Gruppe A und dazu kommen das, von der zweiten überlappend.
Welche Methode dient dazu, den alten Display verschwendet und nur den neuen in der Gruppe zu visualisieren?
Für mehr Details:
Die Widgets, die in der Gruppe befinden, änerdern sich abhängig von einer TreeSelektion. Dann sollte ein Text eingegeben werden. Der wird eingelesen mit getText.
Dafür habe ich ein Selectionlistener zum Tree addiert und abhängig von dem selektierten String im Tree, habe ich die entsprechende methode aufgerufen. Das sieht ungefähr so aus:
Java:
secondTree.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
TreeItem[] itm2 = secondTree.getSelection();
String selection = itm2[0].getText();
atrrType = selection.substring( selection.indexOf('#')+ 1,selection.length() );
if (atrrType.equals("string")){
createTextAttr();
}
else {
if (atrrType.equals("int")){
createItervallAttr();
}
}
});
Ein Beispiel von den angerufenen Methoden wäre:
Java:
public void createTextAttr() {
Label lValue = new Label(attrGroup, SWT.NONE);
tDetail = new Text(attrGroup, SWT.BORDER); // Für die Eingabe
Group scaleGroup = new Group(attrGroup, SWT.NONE);
textScale = new Scale(scaleGroup, SWT.HORIZONTAL);
Label lLow = new Label(scaleGroup, SWT.NONE);
Label lHigh = new Label(scaleGroup, SWT.NONE);
lValue.setText("Value: ");
lValue.setBounds(30, 63, 30, 20);
tDetail.setText("Karlsruhe");
tDetail.setBounds(80, 60, 100, 20);
scaleGroup.setText("Importance");
scaleGroup.setBounds(30, 123, 220, 100);
textScale.setBounds(10, 20, 200, 40);
textScale.setMaximum(5);
textScale.setMinimum(0);
textScale.setPageIncrement(1);
lLow.setText("low");
lLow.setBounds(15, 65, 20, 20);
lHigh.setText("high");
lHigh.setBounds(189, 65, 20, 20);
}
Deine Hilfe wäre mir sehr wertvoll!
Vielen Dank im voraus.
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com