SWT SWT Button disablen

hdi

Top Contributor
Hi, bei Google hab ich irgendwie nicht das gefunden was ich suche.
Ich möchte nen Button disablen so dass man nicht mehr draufklicken kann.

Java:
button.setEnabled(false);

bringt da leider nur optisch etwas, denn man kann noch immer drauf klicken und der Event-Listener der dranhängt (addListener mit SWT.SELECTION) führt seine Arbeit aus.

Also: Ich hab im Listener n Task der dauert sagen wir 5 sek. am Anfang der handleEvent-Methode mach ich obiges setEnabled(false), aber wenn ich jezt innerhalb dieser 5 sek 7 mal draufdrücke, dann wird dieser Task 7 mal hintereinander ausgeführt.

Selbst ein

Java:
if(!button.isEnabled()){
   return;
}

am Anfang der handle-Event Methode scheint ihn nicht davon abzuhalten diese Events zu registrieren und abzuarbeiten.

Wie kann ich denn in SWT einen Button deaktivieren? Das ist die einzige Methode die ich gefunden habe..
 
T

Tomate_Salat

Gast
oO Hast du mal überprüft was button.isEnabled() in dem falle zurückgibt? Sicher dass du keinen Fehler in der Logik deines Programmes hast? Zeig mal am besten Quellcode her.

Werde mal das lokal testen, wollte eh gerade anfangen eine GUI zu schreiben. Ich melde mich wenn ich soweit bin, weil dass kann und dürfte eigentl. nicht sein
 
T

Tomate_Salat

Gast
Java:
		testButton	= new Button(shell, SWT.NONE);
		testButton.setText("HitMe");
		testButton.setBounds(10, 10, 100, 20);
		testButton.addListener(SWT.Selection, new Listener()
		{
			
			@Override
			public void handleEvent(Event event)
			{
				((Button)event.widget).setEnabled(false);
				System.out.println( "HIT" );
			}
		});

ich kann das nicht bestätigen. Nachdem sich das ändert, ist der Button bei mir nicht mehr anklickbar
 

hdi

Top Contributor
Hast du mal überprüft was button.isEnabled() in dem falle zurückgibt?
Das Ding ist er betritt die Methode nicht wenn man draufklickt, sondern erst wenn das vorige Event (der vorige Methodendurchlauf also) beendet ist. Und am Ende der Methode setz ich das ja wieder auf enabled.

Also das Problem ist: Obwohl der EDT oder was das ist eig in der handleEvent methode steckt, registriert er den Klick und reiht das ein, obwohl zu der Zeit des Klicks der Button disabled ist Oo

Versuch mal bitte folgendes:
Java:
   @Override
            public void handleEvent(Event event)
            {
                ((Button)event.widget).setEnabled(false);
                System.out.println("HIT");
                Thread.sleep(2000);
            }

Klick paar mal ganz schnell hintereinander und schau was passiert. (Ich brauch leider schon extrem lang diesen Code in ein eigenes ausführbares Bsp zu packen mit SWT -.-).
In meinem Falle passiert janix anderes, mein Prozess arbeitet halt,hier gefaked durch das sleep. Ich schätz er registriert die Klicks trotz setEnalbed(false) und führt das ganze paar mal aus.
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
poste mal bitte deinen Code, ist für mich nicht rekunstruierbar...rekunstroierbar...rekonstruierbar....ach kacke du weist was ich mein :lol:
 

hdi

Top Contributor
Okay das hier is mein Button:

Java:
	Button go = new Button(dialog, SWT.PUSH);
	go.setText("Ready");
	go.addListener(SWT.Selection, new MyProcess(go));

Und hier der Listener:

Java:
class MyProcess implements Listener{

  // Hier ein Member und Konstruktor um den Button zu speichern

@Override
    public void handleEvent(Event e) {
	if(!button.isEnabled()){
	    return;
	}
	
	// lock button
	button.setEnabled(false);
	button.setText("Processing...");
	
	// do stuff
	try {
            System.out.println("Doing stuff...");
	    Thread.sleep(2000);
	} catch (InterruptedException e2) {
	    e2.printStackTrace();
	}

	// unlock button
	button.setEnabled(true);
	button.setText("Ready");
    }
}
 
T

Tomate_Salat

Gast
jetzt hab ichs gerafft was du meinst: Du klickst drauf => button wird deaktiviert. Klickst du während der deaktivierung drauf, merkt er sich die anzahl an klicks und führt die trotzdem noch aus :-/
 

hdi

Top Contributor
Ja genau, deaktiviert heisst scheinbar nicht dass er keine Klicks mehr empfängt :( Oder halt "während" der Deaktivierung, also der kriegt die Änderung nicht mit wenn er grad in ner Methode steckt.

Also müsste man das wie bei AWT/Swing machen und den Job in nem neuen Thread starten.
Aber dann krieg ich ja wieder die Fehler - wobei ich das mit der Table jetzt noch nicht versucht hab.
Ich versuch mal...

EDIT: Ne, krieg dann wieder den Fehler weil es der falsche Thread ist. Pack ich den Code auf den Widgets wieder in dieses asynch krieg ich auf einmal ne NPE bei Display.getCurrent()...

Gibt's ja net..
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
damn it, ich habs jetzt mal mit [c]syncExcec(Runnable)[/c] versucht...aber nope, wenn man iwie an die EventListe rankommen könnte :-/

Edit
Ey ich weis nicht wie tief ich noch in die Trickkiste greifen muss. Wenn ich [c]setRedraw(false);[/c] setze und lasse, scheint es zu funktionieren. Will ich aber das ganze wieder auf true setzen...tja, dann ist es wie vorher auch :noe:
 
Zuletzt bearbeitet von einem Moderator:
T

Tomate_Salat

Gast
Ey ich habs:

Java:
			@Override
			public void handleEvent(final Event event)
			{
				display.asyncExec(new Runnable()
				{
					@Override
					public void run()
					{
						if(hit + 2000 < event.time)
							hit	= event.time;
						else
							return;
						
						testButton.setEnabled(false);												
						testButton.setText("Loading...");
						
						System.out.println(">>> HIT");
						
						try
                        {
	                        Thread.sleep(2000);
                        } catch (InterruptedException e)
                        {
	                        // TODO Auto-generated catch block
	                        e.printStackTrace();
                        }
														                
		                testButton.setText("HitMe");
		                testButton.setEnabled(true);
					}
				});		
			}

und als Klassenvariable habe ich
Java:
private int hit = -1;

MFG

Tomate_Salat

... Ich glaube das ist mir einen Block-Eintrag wert :)
 

hdi

Top Contributor
Hehe ja schon :D Aber mein echter Prozess ist ja kein Fake und ich weiss nich wie lange der dauern wird ;)
Ne das is eh alles viel zu umständlich kann's ja net sein.
Das trifft ja auch auf alle anderen Komponenten in der GUI zu. Es müsste einen Befehl geben alle Komponenten in der Shell zu sperren so dass sie wirklich keine Events annehmen :(
 
T

Tomate_Salat

Gast
;( und ich dachte schon: Juhu, gelöst

Hmm, nun ja, dann müsse man im Notfall vllt eine Warten-Animation über die Komplette GUI-Legen und mit glaube [c]setCaputre[/c] alle MouseEvents abfangen....aber klar: dass kanns eigentl. nicht sein.
 
Zuletzt bearbeitet von einem Moderator:
T

Tomate_Salat

Gast
So hab es umgeschrieben, sodass er jetzt die dauer ermittelt und gegenprüft:

Java:
		testButton.addListener(SWT.Selection, new Listener()
		{					
			@Override
			public void handleEvent(final Event event)
			{
				display.asyncExec(new Runnable()
				{
					@Override
					public void run()
					{
						if(hit > event.time)
							return;
						
						int zeit	= event.time;
						long start	= System.currentTimeMillis();
						
						testButton.setEnabled(false);	
						testButton.setText("Loading...");
						
						System.out.println(">>> HIT");
						
						try
		                {
		                    Thread.sleep(2000);
		                } 
						catch (InterruptedException e)
		                {
		                    e.printStackTrace();
		                }
														                
		                testButton.setText("HitMe");
		                testButton.setEnabled(true);
		                
		                hit = ((int)(System.currentTimeMillis() - start)) + zeit;
					}
				});		
			}
		});

Ich bezweifel, dass wir den Bug (anderester kann mans ja nicht mehr nenen) beheben können.

Anmerkung Hier liegt natürlich die Überlegung nahe, einen eigenen Abstrakten Listener zu schreiben, der die Aufgabe der ZeitPrüfung übernimmt

MFG

Tomate_Salat
 
Zuletzt bearbeitet von einem Moderator:

hdi

Top Contributor
Hm danke für die Mühen aber das ist mir zu fummlig/fehleranfällig.
Es sind doch irgendwie alle Plugins und auch Eclipse selbst in SWT gehalten - und ich mein da gibts tausende Knöpfe die größere Prozesse anstoßen und da ist die GUI auch gesperrt und gibt trotzdem Feedback. Also es muss dafür eine "normale", vorgesehene Lösung aus der API geben :autsch:
 
T

Tomate_Salat

Gast
Java:
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;

public class MyListener
	implements Listener
{
	private int 		hit		= -1;
	private Listener	listener;
	
	public MyListener(Listener listener)
    {
		this.listener	= listener;
    }		
	
	@Override
    public void handleEvent(Event event)
	{
		if(hit > event.time)
			return;
		
		long start	= System.currentTimeMillis();
		
		listener.handleEvent( event );
		
		hit			= ( (int)(System.currentTimeMillis() - start) ) + event.time;
	}

}

Habe mal das ganze in eine Klasse ausgelagert und Funktioniert wunderbar. Du musst halt diese Klasse vorschauen, aber ich denke dass wäre noch zumutbar. Der Aufruf sähe dann so aus:
Java:
testButton.addListener(SWT.Selection, new MyListener(l));

Zu FrameWorks kann ich dir nicht viel sagen ;-)
 
G

Gast2

Gast
Kann ich nicht nachvollziehen...
Java:
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
 
public class SWTScrolledComposite {
 
    public static void main(String[] args) {
 
    Shell shell = new Shell();
 
    final Button button = new Button(shell, SWT.PUSH);
	button.setText("Test");
	
	button.addSelectionListener(new SelectionListener() {
		
		@Override
		public void widgetSelected(SelectionEvent e) {
			button.setEnabled(false);
			System.out.println("widgetSelected");
			
		}
		
		@Override
		public void widgetDefaultSelected(SelectionEvent e) {
			System.out.println("widgetDefaultSelected");
			
		}
	});
    GridDataFactory dataFactory = GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).hint(SWT.DEFAULT, 50).grab(true, true);
    dataFactory.applyTo(button);
 
    GridLayout grid = new GridLayout();
    grid.numColumns = 2;
    shell.setLayout(grid);
    shell.pack();
 
    shell.open();
    Display display = shell.getDisplay();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
        display.sleep();
        }
    }
    }
 
}
 
G

Gast2

Gast
Das Ding ist er betritt die Methode nicht wenn man draufklickt, sondern erst wenn das vorige Event (der vorige Methodendurchlauf also) beendet ist. Und am Ende der Methode setz ich das ja wieder auf enabled.

Also das Problem ist: Obwohl der EDT oder was das ist eig in der handleEvent methode steckt, registriert er den Klick und reiht das ein, obwohl zu der Zeit des Klicks der Button disabled ist Oo

Versuch mal bitte folgendes:
Java:
   @Override
            public void handleEvent(Event event)
            {
                ((Button)event.widget).setEnabled(false);
                System.out.println("HIT");
                Thread.sleep(2000);
            }

Klick paar mal ganz schnell hintereinander und schau was passiert. (Ich brauch leider schon extrem lang diesen Code in ein eigenes ausführbares Bsp zu packen mit SWT -.-).
In meinem Falle passiert janix anderes, mein Prozess arbeitet halt,hier gefaked durch das sleep. Ich schätz er registriert die Klicks trotz setEnalbed(false) und führt das ganze paar mal aus.

ah jetzt check ich ist ja klar wenn du den GUI Thread blockierst ist in Swing nicht anders... du musst deinen langen Task in einen Job auslagern...
Aber nachstellen kann ich es nicht ^^...
 
T

Tomate_Salat

Gast
du musst deinen langen Task in einen Job auslagern...

Nein, das Problem liegt daran: Er nimmt die Events entgegen und reiht sie hintereinander an. Du kannst auch nichts abfangen in der Weise: [c]isEnabled();[/c], da der Button nach der Ausführung ja enabled wird und danach erst das Event behandelt wird und zu diesem Zeitpunkt darf der Button ja eigentl. wieder gedrückt werden.

Ich sehe nach wie vor derzeit die einzigste Lösung darin, wie ich sie bereit gestellt habe: Man muss die dauer für den Auftrag berechnen und sagen: Alle Events die zu diesem Zeitpunkt ausgelöst wurden dürfen nicht ausgeführt werden.
 
G

Gast2

Gast
Nein, das Problem liegt daran: Er nimmt die Events entgegen und reiht sie hintereinander an. Du kannst auch nichts abfangen in der Weise: [c]isEnabled();[/c], da der Button nach der Ausführung ja enabled wird und danach erst das Event behandelt wird und zu diesem Zeitpunkt darf der Button ja eigentl. wieder gedrückt werden.

Ich sehe nach wie vor derzeit die einzigste Lösung darin, wie ich sie bereit gestellt habe: Man muss die dauer für den Auftrag berechnen und sagen: Alle Events die zu diesem Zeitpunkt ausgelöst wurden dürfen nicht ausgeführt werden.

Wie gesagt ich kanns nicht nachstellen, weil bei mir klappt es wunderbar...
Trotzdem sollten lange Task in einen Job ausgelagert werden, dann wird der GUI Thread nicht blockiert und dann kommen bei enabled false auch keine Events mehr an. Du macht mit deinem asynk übrigens nichts anderes, aber dafür gibt es schon eine Klasse Job!!!
 
T

Tomate_Salat

Gast
Wie gesagt ich kanns nicht nachstellen, weil bei mir klappt es wunderbar...
Dann zeig mal bitte deinen Source-Code

Trotzdem sollten lange Task in einen Job ausgelagert werden, dann wird der GUI Thread nicht blockiert

wiederspricht dir keiner, diese Events werden ja deswegen auch asynchron behandelt => [c]display.asyncExcec()[/c]

und dann kommen bei enabled false auch keine Events mehr an. Du macht mit deinem asynk übrigens nichts anderes, aber dafür gibt es schon eine Klasse Job!!!

Ist bei mir nicht Exsitent :-/
 
G

Gast2

Gast
Java:
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
 
public class SWTScrolledComposite {
 
    public static void main(String[] args) {
 
    Shell shell = new Shell();
 
    final Button button = new Button(shell, SWT.PUSH);
	button.setText("Test");
	button.addListener(SWT.Selection, new Listener() {
	
		@Override
		public void handleEvent(Event event) {
			button.setEnabled(false);
			System.out.println("hier");
			Job job = new Job("test") {
				
				@Override
				protected IStatus run(IProgressMonitor monitor) {
					try {
						Thread.sleep(2000);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					Display.getDefault().syncExec(new Runnable() {
						
						@Override
						public void run() {
							button.setEnabled(true);
							
						}
					});
					return null;
				}
			};
			job.schedule();
			
		}
	});
    GridDataFactory dataFactory = GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).hint(SWT.DEFAULT, 50).grab(true, true);
    dataFactory.applyTo(button);
 
    GridLayout grid = new GridLayout();
    grid.numColumns = 2;
    shell.setLayout(grid);
    shell.pack();
 
    shell.open();
    Display display = shell.getDisplay();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
        display.sleep();
        }
    }
    }
 
}
 
T

Tomate_Salat

Gast
die org.eclipse.core-Lib habe ich garnicht :-/. Werde mal google fragen die mir zu besorgen, dann teste ich das mal
 
G

Gast2

Gast
T

Tomate_Salat

Gast
Iwie steh ich grad voll auf der Leitung :-/. Die Daten hab ich offensichtlich schon(sehe sie ja im Plugin in Eclipse) nur grad ka wie ich die verwende oO
 
G

Gast2

Gast
Was willst den genau machen ^^??? Hast du eine reine SWT/JFace Andwendung oder einen Eclipse RCP?
Bei SWT/JFace einfach die jar mit in Klassenpfad aufnehmen. -.-
 
T

Tomate_Salat

Gast
Ende der Woche und langsam wirds peinlich: Ich finde keinen gescheiten Downloadlink (suche aber weiter ;-) ) und bin langsam echt verwirrt:

In meinem Plugin-Ordner von Eclipse (C:\Programme\Eclipse\plugins\) Habe ich z.B. die Datei [c]org.eclipse.core.runtime_3.5.0.v20090525.jar[/c]
Nur befindet sich darin nicht die Job-Klasse. Wenn ich die Plugin-Seite in Eclipse intern aufrufe, wird mir diese aufgelistet. Ich kann diese auch als Projekt erstellen lassen um diese Projekt dann mit anderen Projekten zu benutzen. Aber das funst auch nicht wirklich, weil da andere Plugins iwie dabei sind, deren klassen wohl auch benutzt werden müssten. Das sind ca 6 stk. Jetzt müsste ich die aber alle iwie gegenseitig ncoh bekannt machen und blablabla...
Iwo müsste ich doch die JAR schon lokal haben oder nicht?!
 
G

Gast2

Gast
Ende der Woche und langsam wirds peinlich: Ich finde keinen gescheiten Downloadlink (suche aber weiter ;-) ) und bin langsam echt verwirrt:

In meinem Plugin-Ordner von Eclipse (C:\Programme\Eclipse\plugins\) Habe ich z.B. die Datei [c]org.eclipse.core.runtime_3.5.0.v20090525.jar[/c]
Nur befindet sich darin nicht die Job-Klasse. Wenn ich die Plugin-Seite in Eclipse intern aufrufe, wird mir diese aufgelistet. Ich kann diese auch als Projekt erstellen lassen um diese Projekt dann mit anderen Projekten zu benutzen. Aber das funst auch nicht wirklich, weil da andere Plugins iwie dabei sind, deren klassen wohl auch benutzt werden müssten. Das sind ca 6 stk. Jetzt müsste ich die aber alle iwie gegenseitig ncoh bekannt machen und blablabla...
Iwo müsste ich doch die JAR schon lokal haben oder nicht?!

Keine ahnung ich hab mir ein Plugin Projekt erstellt und dann kann ich das Eclipse RCP Framework benutzen da klappt die Sache wunderbar. Des sind alles Bundles des kann schon sein, dass die einige Abhänigkeiten haben^^...

Was passiert wenn du die jar einfügst erkennt er die Klasse oder nicht?
 
T

Tomate_Salat

Gast
Keine ahnung ich hab mir ein Plugin Projekt erstellt und dann kann ich das Eclipse RCP Framework benutzen da klappt die Sache wunderbar. Des sind alles Bundles des kann schon sein, dass die einige Abhänigkeiten haben^^...

Wenn ich plugin-Projekt mache, mit Eclipse-Version 3.5, bei "This plugin will make contributions to the UI" aktivier, dann kann ich job auswählen, bringt mir aber nichts, weil die Manifest fehlerhaft ist und zwar nicht zu knapp! Lasse ich das "...UI" weg, tja, dann habe ich die Klassen nicht die ich bräuchte

Was passiert wenn du die jar einfügst erkennt er die Klasse oder nicht?

Nope
 
T

Tomate_Salat

Gast
[c]Would you like to create a Rich Client Application [ ]yes [x]no[/c]

hätte ich das gelesen htäte ich mir den download schenken können xD. Was ist da der unterschied, zwischen der standart-eclipse und der RCP-Version?!
 
G

Gast2

Gast
[c]Would you like to create a Rich Client Application [ ]yes [x]no[/c]

hätte ich das gelesen htäte ich mir den download schenken können xD. Was ist da der unterschied, zwischen der standart-eclipse und der RCP-Version?!

Bei yes wird gleich am Anfang eine Perspektive und so angelegt. Und du kannst es gleich ausführen und hast ein leeres Display... Bei noch machst du ein Bundle ohne GUI am Anfang...

Aber dir würde ja ein no reichen mit UI halt also bei mir klappt das ^^...
 
T

Tomate_Salat

Gast
Bei yes wird gleich am Anfang eine Perspektive und so angelegt. Und du kannst es gleich ausführen und hast ein leeres Display... Bei noch machst du ein Bundle ohne GUI am Anfang...

Aber dir würde ja ein no reichen mit UI halt also bei mir klappt das ^^...

Hä?! (sorry bin heut etwas schwer von Begriff). Ich bekomme das auch mit "NO" + "UI" zum laufen, dann muss ich halt den activator raushauen und aus der manifest das mit der UI wieder :-/

sein Problem: er kennt [c]org.eclipse.ui[/c] nicht wirklich, deswegen funst das auch mit der UI nicht...zumindest kennt ers nicht als plugin
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Hä?! (sorry bin heut etwas schwer von Begriff). Ich bekomme das auch mit "NO" + "UI" zum laufen, dann muss ich halt den activator raushauen und aus der manifest das mit der UI wieder :-/

sein Problem: er kennt [c]org.eclipse.ui[/c] nicht wirklich, deswegen funst das auch mit der UI nicht...zumindest kennt ers nicht als plugin
HÄ???
Warum willst du den Activator raushaun?? Was eigentlich gerade dein Ziel den Code von oben zum Laufen bringen??
Machst einfach neues Plugin-->generate an activator anhaken-->plugin will make contributions to the UI anhaken--> Would you create --> no-->finish code reinkopieren muss tun
 
T

Tomate_Salat

Gast
HÄ???
Warum willst du den Activator raushaun??
Warum nicht?

Was eigentlich gerade dein Ziel den Code von oben zum Laufen bringen??
da fehlt mind. ein Wort und eventuell ein Komma ... ka was du da genau wissen willst, mir fallen spontan 2 mögliche interpretationen ein :-/

Machst einfach neues Plugin-->generate an activator anhaken-->plugin will make contributions to the UI anhaken--> Would you create --> no-->finish code reinkopieren muss tun

tut er aber nicht, weil er warum auch immer das org.eclipse.ui-Plugin nicht zu haben scheint
 
T

Tomate_Salat

Gast
So ich habe es raus, wie ich es auch in einem normalen Projekt verwenden kann:
Rechtsklick auf Projekt -> Properties -> unter Java Build Path den Reiter Libraries auswählen -> Add Library... klicken -> dort Eclipse_Home auswählen -> auf extend drücken -> alle org.eclipse... Plugins im Ordner Plugins auswählen und hinzufügen. Ob man alle braucht weis ich nicht, aber damit müsste man zumindest mal das Framework soweit komplett nutzen können
 
G

Gast2

Gast
So ich habe es raus, wie ich es auch in einem normalen Projekt verwenden kann:
Rechtsklick auf Projekt -> Properties -> unter Java Build Path den Reiter Libraries auswählen -> Add Library... klicken -> dort Eclipse_Home auswählen -> auf extend drücken -> alle org.eclipse... Plugins im Ordner Plugins auswählen und hinzufügen. Ob man alle braucht weis ich nicht, aber damit müsste man zumindest mal das Framework soweit komplett nutzen können

Nein du wirst nicht alles brauchen ^^... Ich versteh gar nicht so richtig was du eigentlich gerade vor hast?? Willst du nur die Job Klasse nutzen oder einen RCP anlegen???

hier has mal was zum nachschauen für einen RCP
Eclipse RCP - Tutorial (Eclipse 3.5)
 
T

Tomate_Salat

Gast
Nein du wirst nicht alles brauchen ^^... Ich versteh gar nicht so richtig was du eigentlich gerade vor hast?? Willst du nur die Job Klasse nutzen oder einen RCP anlegen???

Jup nicht alle, gilt noch herauszufinden welche. Primär geht es mir um die JOB-Klasse, aber ich denke, da verbergen sich noch andere tolle Klassen :p. Naja, aber das Problem ist, nur mit org.eclipse.... kann ich keine SWT ausführen, bekomme immer eine Exception, wenn ich dann doch komplett alle Adde gehts...

=> Ich schau mir mal den Link an, falls der nicht helfen sollte, werde ich mal versuchen, dass abzuspecken, das ist mir zuviel was ich da einbau :-/
 
G

Gast2

Gast
Warum willst du das abspecken, der Aufwand lohnt sich nicht...
Arbeite dich einfach in Eclipse RCP ein, das lohnt sich auf jeden Fall. Wenn du eh SWT/JFace machen willst, kannst gleich ein gescheites Framework und dessen Vorteile nutzen.
 
T

Tomate_Salat

Gast
Ich komme iwie mit den RCP-Projekten nicht klar, das Eclipse das ich aktuell benutze ist ganz aktuell von der Seite Heruntergeladen, will ich ein RCP laut Tutorial erstellen, dann fehlt ihm warum auch immer anscheinend die org.eclipse.ui. Zudem lädt er auch iwie nicht jFace, was ich auch anscheinend manuell regeln müsste :-/. D.h. ab Schritt 3.2 bin ich schon raus
 
G

Gast2

Gast
Warum sollte die fehlen :D... dann würde dein eclipse auch nicht starten :D... Du musst ein Plugin Projekt anlegen... und fehlen kann ich nicht verstehen?? An was siehst du dass den??? zeig mal dien manifest???
 
T

Tomate_Salat

Gast
Code:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MyRCP
Bundle-SymbolicName: MyRCP; singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: myrcp.Activator
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

mit dem netten Vermerk bei Zeile 7:
Code:
Bundle 'org.eclipse.ui' cannot be resolved
 
G

Gast2

Gast
Code:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MyRCP
Bundle-SymbolicName: MyRCP; singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: myrcp.Activator
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

mit dem netten Vermerk bei Zeile 7:
Code:
Bundle 'org.eclipse.ui' cannot be resolved

Des heißt ja nicht das org.eclipse.ui nicht da ist, sondern dass irgendwelche abhängigen bundle eventuell nicht passen... was sagt die console denn wenn du die anwendung startest???
 
T

Tomate_Salat

Gast
Code:
osgi> !SESSION 2010-04-20 13:11:56.515 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_17
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments:  -product a.rcp.test.product
Command-line arguments:  -product a.rcp.test.product -data C:\Dokumente und Einstellungen\*********\workspace/../runtime-a.rcp.test.product -dev file:C:/Dokumente und Einstellungen/*********/workspace/.metadata/.plugins/org.eclipse.pde.core/a.rcp.test.product/dev.properties -os win32 -ws win32 -arch x86 -console -consolelog

!ENTRY org.eclipse.equinox.app 0 0 2010-04-20 13:11:57.250
!MESSAGE Product a.rcp.test.product could not be found.
 
G

Gast2

Gast
In dem Tutorial wird doch gezeigt wie du eine EclipseRCP Anwendung startest...
Warum willst du es über ein product starten?Hast doch bestimmt keines angelegt oder?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Button En-/Disablen - Warum variable final? AWT, Swing, JavaFX & SWT 2
T Button nach Bedingung enablen oder disablen? AWT, Swing, JavaFX & SWT 3
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
G Button auswerten und ausgeben ob richtig oder falsch AWT, Swing, JavaFX & SWT 1
D Button und Textfeld Darstellung AWT, Swing, JavaFX & SWT 3
H Button / Design Ideen AWT, Swing, JavaFX & SWT 2
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
B JavaFX Sprachumschaltung mit Button auf der HMI AWT, Swing, JavaFX & SWT 6
T TableView Button onAction AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
J Button-Keyboard Interaktion AWT, Swing, JavaFX & SWT 7
EinNickname9 Swing Button mittig positionieren AWT, Swing, JavaFX & SWT 4
L actionListener für Button AWT, Swing, JavaFX & SWT 97
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
I JavaFX Hover-Effekt bei Button AWT, Swing, JavaFX & SWT 11
Zeppi Swing Button soll Spiel zurücksetzen AWT, Swing, JavaFX & SWT 5
G Button Strings Effektiver setzen AWT, Swing, JavaFX & SWT 3
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
T Button für GUI programmieren AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
White_Fox JavaFX Button - optimale Breite berechnen AWT, Swing, JavaFX & SWT 1
L Swing Button Farbe ändern/wechseln AWT, Swing, JavaFX & SWT 2
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
S JavaFx Zufallsfarbe beim Button-Klick AWT, Swing, JavaFX & SWT 22
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
VPChief Swing Eclipse: Nach Exportieren, Button funktioniert nicht mehr AWT, Swing, JavaFX & SWT 26
Z Button bewegen und Plätze tauschen AWT, Swing, JavaFX & SWT 4
Z Swing Button anklicken und bewegen AWT, Swing, JavaFX & SWT 2
K JavaFX Button verbinden AWT, Swing, JavaFX & SWT 6
Z Mit einem Button einen anderen Button Triggern AWT, Swing, JavaFX & SWT 3
M JavaFX Button action abhängigkeit von Tab AWT, Swing, JavaFX & SWT 1
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
H Eigener Dialog mit Rückgabe -> Warten auf Button AWT, Swing, JavaFX & SWT 3
F JLabel mit ImageIcon per Button bewegen AWT, Swing, JavaFX & SWT 4
L Button Funktion zuweisen in WindowBuilder AWT, Swing, JavaFX & SWT 22
A Button mit Speicher-Funktion AWT, Swing, JavaFX & SWT 8
krgewb Swing Icon von Button AWT, Swing, JavaFX & SWT 12
J Schriftart über einen Button ändern AWT, Swing, JavaFX & SWT 1
Bluedaishi JavaFX Button Image aus Datenbank AWT, Swing, JavaFX & SWT 13
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
Ø Swing Button in anderer Klassen ausführen AWT, Swing, JavaFX & SWT 6
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
cool_brivk24 Swing Button Farbe ändern AWT, Swing, JavaFX & SWT 2
K JavaFX TextInputDialog Button Text ändern AWT, Swing, JavaFX & SWT 1
L ActionListener zu Button in Panel hinzufügen AWT, Swing, JavaFX & SWT 10
J Aus welchen Grund wird der Button nicht angezeigt im GridPane? AWT, Swing, JavaFX & SWT 1
S GUI Schließen Button auf der linken Seite AWT, Swing, JavaFX & SWT 2
J Swing Bild in Button AWT, Swing, JavaFX & SWT 11
das_leon AWT Button Design ändern AWT, Swing, JavaFX & SWT 5
J Thread per Button starten AWT, Swing, JavaFX & SWT 10
E Button verschwindet nachdem ein Rechteck gezeichnet wurde AWT, Swing, JavaFX & SWT 5
G JComboBox: Arrow-Button permanent anzeigen AWT, Swing, JavaFX & SWT 4
emma_louisa JavaFX MenuBar Zweitfenster; bei Button "Abbrechen" nur das Zweitfenster schließen AWT, Swing, JavaFX & SWT 2
I JavaFX: "globaler Button" AWT, Swing, JavaFX & SWT 0
M JavaFX ActionEvent Button AWT, Swing, JavaFX & SWT 6
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
J Button lässt sich nicht auf dem JPanel verschieben AWT, Swing, JavaFX & SWT 5
Q AWT TicTacToe Image auf Button hinzufügen AWT, Swing, JavaFX & SWT 5
H JavaFX - Button und Text - Falsche Darstellung AWT, Swing, JavaFX & SWT 3
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
it_is_all Swing Button, ComboBox,... -- Unterschied: NetBeans Design <-> Ausführung AWT, Swing, JavaFX & SWT 2
B FXML GUI - Button ausblenden AWT, Swing, JavaFX & SWT 1
it_is_all JPanel verschwindet nach Button-Klick AWT, Swing, JavaFX & SWT 2
L JavaFX button über andere Klasse ändern AWT, Swing, JavaFX & SWT 7
L Suchergebnisse variabel mit Button anzeigen lassen AWT, Swing, JavaFX & SWT 3
K über Button andere Java Klasse aufrufen AWT, Swing, JavaFX & SWT 15
J Event Handling Button "enablen" wenn Eingaben in Textfeldern korrekt sind AWT, Swing, JavaFX & SWT 1
Ksanatos Swing Bild (.jpg) einlesen und per Button wechseln AWT, Swing, JavaFX & SWT 9
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
E Fehler bei Button AWT, Swing, JavaFX & SWT 1
A Swing Tabelle wird bei Betätigung des Button nicht befüllt AWT, Swing, JavaFX & SWT 17
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
GreenTeaYT Button funktioniert nicht für Ein-und Auszahlungen? AWT, Swing, JavaFX & SWT 8
MaxG. Swing Farbe von Button beim drücken ändern AWT, Swing, JavaFX & SWT 4
S per Button Variableninhalt aus anderer Klasse holen AWT, Swing, JavaFX & SWT 3
A Swing GUI - Button soll Frame verändern AWT, Swing, JavaFX & SWT 4
T Frage zu GUI - Button soll Objekt erfassen AWT, Swing, JavaFX & SWT 2
MaxG. Swing Bild Button AWT, Swing, JavaFX & SWT 7
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
N Swing Abfrage durch JTextField nach Button betätigung AWT, Swing, JavaFX & SWT 3
H JavaFX via .fxml einen abgeleiteten Button erstellen... AWT, Swing, JavaFX & SWT 4
T JavaFX Button als Runnable AWT, Swing, JavaFX & SWT 4
OlafHD JPasswordField mit Button eingeben AWT, Swing, JavaFX & SWT 4
B JavaFX Wie programmiere ich hier einen "Weiter" Button? AWT, Swing, JavaFX & SWT 11
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
D JavaFX Button Links- und Rechtsklick? AWT, Swing, JavaFX & SWT 1
Thallius Button von JDatePicker customizen? AWT, Swing, JavaFX & SWT 0
K eigener button in swing AWT, Swing, JavaFX & SWT 3
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
R Button Aktion AWT, Swing, JavaFX & SWT 3
X Javafx button per enter auslösen AWT, Swing, JavaFX & SWT 5
Z Swing Button Click AWT, Swing, JavaFX & SWT 1
J Problem mit Button darstellung AWT, Swing, JavaFX & SWT 23
K JavaFX Unresolved class button bar AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen


Oben