SWT Enable Selection

S

Siso

Gast
Hallo
ich habe ein Problem. In einer Aufgabe soll ich DnD realisieren zwischen einer Tabelle und einem Sourceviewer. Dies habe ich soweit geschafft. Jedoch wurde die Tabelle von meinem Vorgänger disabled.

Java:
 table.setEnabled(false);

Habe ich eine Möglichkeit das Selektieren zu erlauben (damit DnD möglich ist), aber die Editierung etc weiterhin verbieten zu lassen.

Google etc hat mir bei diesem Problem noch nicht helfen können

Würde mich über jede Hilfestellung freuen

Lg Siso
 
G

Gast2

Gast
Wechselt der Status der Tabelle oder ist der fix?
Wenn er fix ist dann nehm den EditingSupport raus und setz die Tabelle auf enabled.
 

S91sPlayer

Mitglied
hab mir jetzt nen account angelegt nicht wundern^^

soweit wie ich das beurteilen kann ( bin nicht der ursprüngliche schreiber) wird der status geändert

die werte innerhalb der tabelle dürfen nicht editiert werden aber für das drag and drop muss ich sie ja selektieren was durch das enabled kommando verboten wird
 
G

Gast2

Gast
ok dennoch danke das du geantwortet hast

Wie gesagt meine einzige Idee ist es die das setEnable auf true zu lassen damit die Selektion funktinioniert und bei deinem "Statuswechsel" den EditingSupport auf false setzt dann darf man auch nichts editieren...

Sowas zum beispiel bei can Edit

Java:
//je nach status switchen
private boolean allowEdit;

tableViewerColumn.setEditingSupport(new EditingSupport(tableViewer) {

    protected boolean canEdit(Object element) {
        return allowEdit;
    }

    protected CellEditor getCellEditor(Object element) {
        return new TextCellEditor(tableViewer.getTable());
    }

    protected Object getValue(Object element) {
        return ((SomeObject) element).getName();
    }

    protected void setValue(Object element, Object value) {
        ((SomeObject) element).setName(String.valueOf(value));
        tableViewer.refresh(element);
    }

});
 

S91sPlayer

Mitglied
So ich hatte jetzt noch eine andere Idee die aber seltsamerweise auch nicht funktioniert:

Java:
//ne menge code
boolean b = m_editable;
if( b == true ){
    table.setEnabled( true );
}
if( b == false ){
    table.setEnabled( true );
    table.addMouseListener( new MouseAdapter ){
            public void mouseDoubleClick( final MouseEvent e )
            {
             if (e.button == 1){
                      table.setEnabled( false );
            }
}});}

problem ist jetzt nur das er auch wenn b == true ist und ich doppelkiclk mache dies wieder false setzt

dachte das lösst das problem da man zum editieren doppelklicken muss
 
Zuletzt bearbeitet:
G

Gast2

Gast
ich weiß gar nicht was du erreichen willst mit deinem code ^^...

wie gesagt der einfachste weg ist wie oben beschrieben einfach den support ausstellen...
 

S91sPlayer

Mitglied
ok ich versuch nochmal zu erklären was ich möchte^^

Ich soll Drag and Drop zwischen einer Tabelle und einem Sourceviewer realisieren. Die Tabelle wird mit Daten aus einer Datenbank gefüllt und darf nur geändert werden, wenn man einen gewissen Button drückt. Dieser Button setzt die Tabelle entweder setEnable(false) oder setEnable(true).

Bei setEnable(true) funktioniert der Drag and Drop Befehl, da ich dort ja an getSelection() rankomme.
Bei setEnable(false) funktioniert es nicht, da ich dort nicht selektieren darf.

Drag and Drop soll aber in beiden Fällen funktionieren.

Mit meinem Versuch oben habe ich versucht, da man Sachen nur ändern kann wenn man Doppelklick macht, diesen per MouseListener zu kontrollieren und die Tabelle die ganze Zeit über auf setEnable(true) lasse bis der Doppelklick kommt der boolean Wert aber auf false ist und dadurch die Liste dann erst sperrt.

Ist vielleicht kein so guter Ansatz aber ich schaff es nicht deinen Vorschlag in das Programm dieser Frima einzufügen (bin da nur Praktikant daher darf ich auch net allzu viel Code posten)

ich hoffe dir hilft das um zu verstehen was ich will

dennoch danke das du mir wirklich versuchst zu helfen! :)

lg s91splayer
 
G

Gast2

Gast
Ich weiß was du willst, ich hab dir die Lösung aufgezeigt =). Was soll ich noch tun???

Die Sache mit deinem Listener wird nicht funktionieren.

Außerdem sind Sachen wie event.button1(damit frägst du die linke maus ab) nie gut
 

S91sPlayer

Mitglied
meine versuche haben wie du schon prphezeit hast alle nicht funktioniert

nun habe ich es doch noch hinbekommen den EditingSupport bei dem nicht editierbaren status zu verbieten und damit ist mein problem gelösst :toll:

ich danke dir sir wayne :applaus::applaus:


//kann geclosed werden
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
dzim Toolbar - Problem bei enable/disable von Buttons AWT, Swing, JavaFX & SWT 6
Salo JTabel Selection listener Bsp. AWT, Swing, JavaFX & SWT 5
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
S Zwei JTree, ein Model, bei Selection im ersten JTree soll der zweite die Inhlate anzeigen AWT, Swing, JavaFX & SWT 2
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
A JFace/SWT: ListViewer Inhalt nach Selection in zweitem List Viewer aktualisieren! AWT, Swing, JavaFX & SWT 5
M Swing JTree: Wie kann ich die Hintergrundfarbe der selection ändern?!?! AWT, Swing, JavaFX & SWT 7
J Sinn eines Selection Listener AWT, Swing, JavaFX & SWT 5
B ButtonGroup mit mehr als einer Selection AWT, Swing, JavaFX & SWT 2
lumo SWT Table Selection Color +Focus Out AWT, Swing, JavaFX & SWT 14
S SWT ProgressBar: Value/Selection anzeigen AWT, Swing, JavaFX & SWT 4
H JList: Selection-Border entfernen AWT, Swing, JavaFX & SWT 2
P SWT Tree - Keine Selection zulassen AWT, Swing, JavaFX & SWT 4
R JTree und Selection mit Ctrl AWT, Swing, JavaFX & SWT 5
lumo SWT MenuItem + Selection/Listener AWT, Swing, JavaFX & SWT 2
Dragonfire JTree, Selection via event AWT, Swing, JavaFX & SWT 7
O JTable label background und selection AWT, Swing, JavaFX & SWT 3
A Wie werde ich beim JTable die Selection wieder los? AWT, Swing, JavaFX & SWT 6
Zed JTable view auf Selection setzen AWT, Swing, JavaFX & SWT 2
R TreeViewer in SWT: Default Selection eines Items AWT, Swing, JavaFX & SWT 3
S JTable - Problem mit der Selection AWT, Swing, JavaFX & SWT 4
G JTextArea & JTextField Selection Problem (ersetzen) AWT, Swing, JavaFX & SWT 2
P JTable Row-Selection nach eingegebenem Anfangsbuchstaben AWT, Swing, JavaFX & SWT 4
O JTextField- Selection / Focus bei nicht editierbaren Feldern AWT, Swing, JavaFX & SWT 2
D Selection SWT Table AWT, Swing, JavaFX & SWT 5
J JTable selection AWT, Swing, JavaFX & SWT 2
V Selection Problem mit JList AWT, Swing, JavaFX & SWT 2
G JTree - ungültiger selection update AWT, Swing, JavaFX & SWT 2
O JTable selection eines weiter setzen wie? AWT, Swing, JavaFX & SWT 3
S Selection Color in JTabbedPane AWT, Swing, JavaFX & SWT 5
A JTree Problem mit Focus bzw. Selection AWT, Swing, JavaFX & SWT 5
G JTree. Neues Element hinzufügen und Selection beibehalten! AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben