Framework zur Erstellung Java-Desktop-Anwendungen

R2D2

Mitglied
Hallo,

ich bin auf der Suche nach einem guten freien/kommerziellen Java-Framework zur Erstellung von Standalone-Java-Applikations. Es sollte wenn möglich, bereits viele Anwendungs-Bausteine
von Hause aus mitbringen wie z.Bsp: Benutzer-/ Rollen- Konzept, Tree, Logging, etc.

Kann mir jemand hierzu gute Frameworks nennen?

Danke für Eure Mühe.

R2D2
 
M

maki

Gast
Eclipse RCP

k.A. ob es ein Benutzerkonzept gibt, ansonsten gibt es eigentlich alles und viel mehr :)
Bin kein Fan vom Eclipse Logging, hab mir dafür einen Log4J Appender geschreiben, weil die Standard log view von Eclipse RCP doch alles hat was ich brauche.

Allerdings hat das alles eine steile Lernkurve, OSGi musst du verstanden haben, dazu die Eclipse Erweiterungen, SWT/JFace, usw.

Kann dir dieses Tutorial empfehlen: Eclipse RCP Tutorial
 
G

Gast2

Gast
Eclipse RCP
Bin kein Fan vom Eclipse Logging, hab mir dafür einen Log4J Appender geschreiben, weil die Standard log view von Eclipse RCP doch alles hat was ich brauche.
[/url]

Darf ich fragen warum??? Hab mir das Eclipse Logging auch schon mal angeschaut und war nicht sicher,welches von beiden besser ist???
 
M

maki

Gast
Mit Eclipse Logging bist du abhängig vom RCP, und die schnittstelle des Loggers ist anders als in allen anderen Log Frameworks in Java, mit log4j kann ich auch in normalen OSGi Bundles loggen (oder EJBs, oder Servlets, oder Swing Apps, etc. pp.), also logge ich überall, auch in der RCP mit log4j, und mein Appender sorgt dafür, dass die RCP die log Einträge auch anzeigen kann(Standard error log view), konfiguriert wird das ganze ausschliesslich über log4j, hab ein eigenes fragment mit der log4j.properties und dem Appender.
 

R2D2

Mitglied
Hallo,

danke erstmal für die bisherigen Anworten. Das Eclipse RCP wird bereits von einem Kollegen untersucht. :)

Wie sieht es Eurer Meinung nach mit dem Netbeans RCP aus.
Hat hier jemand Erfahrungen mit Netbeans?
Wie ist dessen Marktdurchdringung und vorallem wie sieht es mit der zukünftigen Weiterentwicklung aus? Was geschieht mit Netbeans nach der Übernahme Oracales von SUN?
Gibt es irgendwelche großen Nachteile zum Eclipse RCP, oder sind beide bzgl. ihrer Leistungsfähigkeit ungefähr vergleichbar?

???:L???:L???:L
 
M

maki

Gast
okay was musstest du noch machen damit der error log view die sachen anzeigt?
Nix :)

Ausser ihn in die Perspektive einzubinden natürlich ;)

Java:
package dein.package;

import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.Level;
import org.apache.log4j.spi.LoggingEvent;
import org.eclipse.core.runtime.ILog;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;


public class EclipseLoggingServiceAppender extends AppenderSkeleton {

	// TODO replace hardcoded plugin id
	private static final String PLUGIN_ID = "deine.plugin.id";

	private ILog loggingService;

	@Override
	public void activateOptions() {
		this.loggingService = Platform.getLog(Platform.getBundle(PLUGIN_ID));
	}

	@Override
	protected void append(LoggingEvent event) {
		IStatus status = null;

		if (hasTrowable(event)) {
			Throwable throwable = event.getThrowableInformation().getThrowable();
			status = new Status(getSeverity(event), PLUGIN_ID, event.getMessage().toString(),
					throwable);
		} else {
			if (hasMessage(event)) {
				status = new Status(getSeverity(event), PLUGIN_ID, event.getMessage().toString());
			} else {
				status = new Status(getSeverity(event), PLUGIN_ID, "");
			}
		}

		loggingService.log(status);
	}

	private boolean hasMessage(LoggingEvent event) {
		return null != event.getMessage();
	}

	private boolean hasTrowable(LoggingEvent event) {
		return null != event.getThrowableInformation();
	}

	private int getSeverity(LoggingEvent event) {
		Level level = event.getLevel();
		if (level == Level.FATAL || level == Level.ERROR)
			return IStatus.ERROR;
		else if (level == Level.WARN)
			return IStatus.WARNING;
		else if (level == Level.INFO)
			return IStatus.INFO;
		else
			// debug, trace and custom levels
			return IStatus.OK;
	}

	@Override
	public void close() {
	}

	/**
	 * Return always false, we have our own layout.
	 */
	@Override
	public boolean requiresLayout() {
		return false;
	}

}
Muss natürlich in ein eigenes Fragment, fand die log4j Konfig schwieriger unter OSGi als den Appender & Eclipse Error Log View.

Hier einer der Atikel die ich als Vorlage verwendet habe: EclipseZone - Universal Logger Plug-ins

Verstehe nciht warum es den Appender nciht schon fertig runterzuladen gibt, sonst hat log4j doch alle möglichen & unmöglichen Appender von haus aus dabei.
 

Wildcard

Top Contributor
Wie sieht es Eurer Meinung nach mit dem Netbeans RCP aus.
Hat hier jemand Erfahrungen mit Netbeans?
Wie ist dessen Marktdurchdringung und vorallem wie sieht es mit der zukünftigen Weiterentwicklung aus? Was geschieht mit Netbeans nach der Übernahme Oracales von SUN?
Gibt es irgendwelche großen Nachteile zum Eclipse RCP, oder sind beide bzgl. ihrer Leistungsfähigkeit ungefähr vergleichbar?
Netbeans RCP ist schonmal nicht OSGi basiert was ich als großen Nachteil betrachten würde. Netbeans RCP hat bei weitem nicht die Verbreitung von Eclipse RCP was bedeutet das es wesentlich weniger Literatur und auch wesentlich weniger Module gibt die du in deinen RCP einbinden kannst.
Eclipse ist mittlerweile ein riesiges Ökosystem an Software. Nicht nur klassische Desktop Anwendungen, sondern auch Runtime Componenten, Modelling Technologie,...
Eclipse RCP Anwendungen lassen sich auch sehr einfach Webanwendung deployen, ab e4 lässt sich die Workbench mit CSS stylen und vieles mehr.
Also ganz ehrlich, als IDEs mögen Netbeans und Eclipse in etwa gleich auf sein, aber als Anwendungsframework ist Eclipse der Platzhirsch.
 

Daniel_L

Bekanntes Mitglied
In der kommenden Version 6.9 von NetBeans tut sich was in Sachen OSGi: OSGiAndNetBeans - NetBeans Wiki

Es sind in den letzten Monaten zunehmend mehr Bücher über NetBeans als RCP erschienen.

NetBeans basiert auf Swing als Standard-UI-Toolkit, Eclipse verwendet SWT (siehe auch Geertjan's Blog : Weblog).

Persönlich gefällt mir NetBeans wesentlich besser, weil übersichtlicher und intuitiver als Eclipse.
 

Wildcard

Top Contributor
SWT + JFace + Eclipse UI bietet einfach mehr als Swing, also würde ich es nicht unbedingt als Positivmerkmal sehen das Netbeans Swing basiert ist. Eclipse kann schon heute mit unterschiedlichen Toolkits betrieben werden. SWT ist Default, aber auch Swing, QT und Webanwendung ist möglich.
Mit Eclipse 4 wird das Toolkit dann einfacher austauschbar da die Workbench mit EMF modelliert wird und das Tookit nur noch das Workbench Model renderen muss, damit kann SWT dann einfacher gegen alternative Toolkits ausgetauscht werden als es heute der Fall ist.
Ausserdem hat Netbeans nichts vergleichbares zu Eclipse Modelling (EMF, Xtext, CDO, GMF,...) und schon alleine deshalb ist es wesentlich günstiger auf Eclipse als Framework zu setzen.
In meinem aktuellen Projekt sind beispielsweise nur noch ca. 10% des Codes handgeschrieben, ohne die Modellingtechnologien wäre ein Projekt dieser Größenordnung nur von einem wesentlich größeren Team umsetzbar.
 
G

Gast2

Gast
SWT + JFace + Eclipse UI bietet einfach mehr als Swing, also würde ich es nicht unbedingt als Positivmerkmal sehen das Netbeans Swing basiert ist. Eclipse kann schon heute mit unterschiedlichen Toolkits betrieben werden. SWT ist Default, aber auch Swing, QT und Webanwendung ist möglich.
Jop finde ich auch vor allem wenn ab e4 die css geschichte wirklich gut funktioniert. dann kann man SWT auch schön einfach designen.

In meinem aktuellen Projekt sind beispielsweise nur noch ca. 10% des Codes handgeschrieben, ohne die Modellingtechnologien wäre ein Projekt dieser Größenordnung nur von einem wesentlich größeren Team umsetzbar.
nice !!!
 

R2D2

Mitglied
Hallo,

vielen Dank erstmal für die zahlreichen Antworten, diese haben mir schon sehr geholfen einen groben Überblick zu bekommen.
Ich werde den Thread deshalb als erledigt kennzeichnen, und bei neuen Fragen einen neuen öffnen.

Wünsche allen ein schönes Pfingstwochenende
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Zurück zum Desktop, aber welches Framework? Plattformprogrammierung 7
X Probleme mit dem OSGi-Framework Plattformprogrammierung 3
E Common Navigator Framework erste Knoten werden nicht angezeigt Plattformprogrammierung 4
G EMF und Notification Framework Plattformprogrammierung 39
hdi Schwierigkeiten mit Plugin für EPF (Eclipse Process Framework) Plattformprogrammierung 3
G Eclipse Modelling Framework - Java Code aus Model erzeugen. Plattformprogrammierung 2
dzim Common Navigator Framework Plattformprogrammierung 14
D OSGi JSR296 (Swing Application Framework) - Konzeptionsfrage Plattformprogrammierung 2
S OSGI Framework Knopflerfish Plattformprogrammierung 11
S RCP Nach erfolgreicher Erstellung der View, wie weitermachen? Plattformprogrammierung 1
E OSGi Eclipse Plug-in programmierung: java.lang.NullPointerException: Cannot enter synchronized block because "profile" is null Plattformprogrammierung 4
T Java Projekt läuft nur in Eclipse Plattformprogrammierung 6
K Problem bei Einbinden einer DLL in Java-Projekt Plattformprogrammierung 4
M Java Projekt in Windows (7): Wohin mit temporären Dateien? Plattformprogrammierung 3
B Eclipse zeigt Fehler nach Java-Update auf 1.8.0_40 Plattformprogrammierung 3
Bregedur Suche eine Möglichkeit alle Dateien eines Verzeichnisses in eine Java-Applet zu übernehmen Plattformprogrammierung 1
T Modularisierung in Java Plattformprogrammierung 3
C Java Editor funktioniert nicht Plattformprogrammierung 9
lumo EMF vom Java code... Plattformprogrammierung 2
B Eclipse RCP und Java 7 Plattformprogrammierung 7
E Editor Schriftgröße ändern per "Java Code" Plattformprogrammierung 8
A RCP java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter Plattformprogrammierung 7
T Java Rcp Plugin laden Plattformprogrammierung 4
G Java Class Wizard in Eclipse nachbauen Plattformprogrammierung 7
dzim java.lang.ClassNotFoundException beim laden eines Plugins Plattformprogrammierung 10
SaSa83 Inkompatibilität meiner RCP Anwendung zwischen JAVA 1.5 & JAVA6 Plattformprogrammierung 2
S KeyEvents in Java ändern Plattformprogrammierung 20
G Java Projekt in RCP Projekt umwandeln Plattformprogrammierung 2
G Java.NoSuchMethodError Plattformprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben