Flags in Java setzen

Alles zum Qt Framework für Java
nocturne
Beiträge: 8
Registriert: 23. August 2007 13:20

Flags in Java setzen

Beitrag von nocturne »

Also irgendwie habe ich ein sehr seltsames Problem:

Ich kann keine Flags setzen. Selbst wenn ich aus den Beispielen Code-Schipsel uebernehme, funktioniert es nicht. Mein Eclipse meckert immer, dass das so nicht geht. Hat noch jemand aehnliche Probleme und weiss, woran es liegt oder hab ich evtl. eine veraltete Version?

mfg nocturne


/edit Um es etwas zu veranschaulichen: Ich habe einen TableWidget und will verhindern, dass die Items da drin veraendert werden koennen (vom User), also will ich das ItemIsEditable-Flag ausstellen. Nur dazu muesste ich es erstmal in korrekter Syntax formulieren koennen, was mein Eclipse nicht erlaubt (selbst bei 1:1-Abschrift aus den Beispielen)...
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

Code: Alles auswählen

Ich kann keine Flags setzen. Selbst wenn ich aus den Beispielen Code-Schipsel uebernehme, funktioniert es nicht. Mein Eclipse meckert immer, dass das so nicht geht. Hat noch jemand aehnliche Probleme und weiss, woran es liegt oder hab ich evtl. eine veraltete Version? 
Das Problem ist nicht gerade sehr eindeutig beschrieben. Ich verstehe die Frage so, dass sich nicht alle properties eines Widgets im designer-plugin richtig bearbeiten lassen und teilweis sogar fehlen.

Du solltest auf jeden Fall die neueste Version des Eclipste - Plugins verwenden, weil da die meisten Bugs beseitigt wurden.

Andernfalls versuchs (unter Windows) doch mal mit designer.exe, da konnte man eigentlich alle properties bearbeiten

Gruß Arne
nocturne
Beiträge: 8
Registriert: 23. August 2007 13:20

Beitrag von nocturne »

Hm, ok, du hast mich total falsch verstanden ;)

Es geht mir nicht um den Designer oder das Eclipse Plugin. Mein Problem ist, dass ich die "setFlags" Methode nicht benutzen kann, da mein Eclipse jedes mal nen Syntax-Fehler meldet, egal wie ich es auch versuche. Selbst wenn ich den Code aus den Beispielen mit Copy&Paste uebertrage, gibt mein Eclipse diese Fehler aus und behauptet, dass die Syntax nicht stimmt.

Daher kann ich keinerlei Flags ausserhalb des Designers also quasi zur Laufzeit innerhalb meines Programms manipulieren, was natuerlich die Funktionalität der Programme ziemlich einschraenkt.
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

Hi

könntest Du mal ein kleines Code-Beispiel bringen ?

Gruß Arne
nocturne
Beiträge: 8
Registriert: 23. August 2007 13:20

Beitrag von nocturne »

Hm, wozu ein Beispiel? Meine Syntax ist vollkommen korrekt, da ich sie ja sogar einmal aus den Beispielen per Copy&Paste uebernommen habe. Wenn du ein Stueck Code haben willst, guck in die Beispiele von QT Jambi, denn genauso stehts auch in meinem Programm :wink:

Es liegt auch nicht an dem Kontext von meinem Programm oder irgendwelchen Programmteilen. Selbst wenn ich eine komplett neue Klasse schreibe, da einen Button erstelle und versuche seine Flags zu setzen, meckert mein Eclipse aufgrund falscher Syntax. Daher gehe ich von einem Eclipse-spezifischen Problem aus...dachte evtl. dass das hier noch einer hat, aber dem scheint ja nicht so zu sein :cry:
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

Hm, wozu ein Beispiel? Meine Syntax ist vollkommen korrekt, da ich sie ja sogar einmal aus den Beispielen per Copy&Paste uebernommen habe. Wenn du ein Stueck Code haben willst, guck in die Beispiele von QT Jambi, denn genauso stehts auch in meinem Programm Wink
... weil Du wissen willst warum etwas nicht geht und ich keine Lust habe die Sourcen nach irgendwelchen Beispielen zu durchforsten, die nicht einmal annähernd bezeichnet sind .. zum Beispiel ...

.. weil es eine Methode 'IrgendwasButton.setFlags(...)' weder in QAbstractButton noch in QPushButton, QToolButton oder QRadioButton gibt, so dass ich nicht weiss was Du meinst .. zum Beispiel ... :lol:

Gruß Arne
nocturne
Beiträge: 8
Registriert: 23. August 2007 13:20

Beitrag von nocturne »

Ja gut, das mit dem Knopf war ein bloedes Beispiel. Bei mir geht es um ein TableWidget. Dabei will ich die einzelnen Items so modifizieren, dass sie nicht editierbar sind.

Code: Alles auswählen

QTableWidgetItem item1 = new QTableWidgetItem("test");
item1.setFlags(ItemFlag.ItemIsSelectable);
Ist laut der QT Jambi API korrekt und wird zum Beispiel im "Config Dialog"-Beispiel benutzt. Leider sagt mein Eclipse, dass das nicht in Ordnung ist: "The method setFlags(Qt.ItemFlag[]) in the type QTableWidgetItem is not applicable for the arguments (Qt.ItemFlag)".

So...woran liegts?

p.s.: ich weiss, dass bei meinem Beispiel das Item selektierbar wird und sonst nix, aber das ist ja nicht so wichtig...
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

Code: Alles auswählen

    import com.trolltech.qt.core.Qt;
    import com.trolltech.qt.gui.QTableWidgetItem;

Code: Alles auswählen

    QTableWidgetItem item = new QTableWidgetItem("test");
    item.setFlags(Qt.ItemFlag.ItemIsSelectable);
so sollte es gehen (so funktionierts zumindest bei mir ;-) )

Gruß Arne

PS.: wenn nicht dann teil doch mal mit, was für eine Fehlermeldung Eclipse ausgibt.
nocturne
Beiträge: 8
Registriert: 23. August 2007 13:20

Beitrag von nocturne »

Immer noch die selbe Fehlermeldung:
The method setFlags(Qt.ItemFlag[]) in the type QTableWidgetItem is not applicable for the arguments (Qt.ItemFlag)
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

siehe
http://www.developer.com/java/other/article.php/3323661

verwendest Du eine alte JRE < 1.5 ?

QTJambi setzt mindestens die JRE 1.5 voraus.

Gruß Arne
nocturne
Beiträge: 8
Registriert: 23. August 2007 13:20

Beitrag von nocturne »

Eigentlich benutze ich laut Eclipse die 1.6.01 und ich find auch nix anderes auf meinem System. Ich sag ja, dass der Fehler seltsam ist :P
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

und welche Eclipse Version verwendest Du (ich glaube da sollte es mindestens die 3.2 sein).

Ansonsten probier doch mal die Compiler- Einstellungen unter

Menu|Preferences

Java->Compile->Errors/Warnings

aus, wobei ich mir nicht vorstellen könnte, welche Einstellung dort vorzunehmen wäre.
nocturne
Beiträge: 8
Registriert: 23. August 2007 13:20

Beitrag von nocturne »

Eclipse Version 3.2.2

So langsam nervt mich dieses Problem. Wenn ich das nicht loesen kann, darf ich mein gesamtes Projekt umschreiben :cry:

Evtl. kannste mir ja noch bei nem anderen Problem helfen:

Ich versuche seit Stunden krampfhaft das closeEvent meines MainWindows zu ueberschreiben. Ich moechte naemlich, sobald jemand das "X" drueckt, eine Speicher-Abfrage durchfuehren. Leider schaffe ich es einfach nicht, das zu ueberschreiben und man findet im Netz nur Beispiele zu C++.

In dem Application Beispiel wird es zwar demonstriert und funktioniert dort auch, aber bei meinem Projekt wills mal wieder nicht funzen.

p.s.: so langsam glaube ich, dass mein Eclipse schuld ist. Kannst du mir evtl mal nen Link zu der Eclipseversion geben, die du benutzt ( falls du es benutzt)? Oder benutzt du nen anderen Editor?
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

ich verwendeauch die 3.2.2

http://www.eclipse.org/downloads/

mehr fällt mir dazu auch nicht mehr ein

Code: Alles auswählen

public void closeEvent (QCloseEvent event){
    //prüfen, ob beendet werden soll
    if ( ... anwendung beenden ... == false) {
        event.ignore();
    }
    // sonst irgendwas beenden 
    else {
        super.closeEvent(event);
    }
}
gruß Arne
nocturne
Beiträge: 8
Registriert: 23. August 2007 13:20

Beitrag von nocturne »

Funzt weiterhin nicht. Falls irgendwer weiss, woran es liegen koennte, ich waere dankebar fuer Antworten ;)
Antworten