Editor programmieren

BlubBlub

Bekanntes Mitglied
Hi,

wenn ich einen kleinen texteditor schreiben will mit den menüpunkten "datei öffnen", "datei speichern",
"drucken" muss ich das alles von hand programmieren?

(ich will dabei java eclipse verwenden.)

ich bin mir nicht sicher, ob ich den begriff framework richtig verstehe, aber gibt es so vorgefertigte "schablonen" bei java wo man im prinzip ein gewisses gerüst schon stehen hat, wie beispielsweise das texteditor fenster mit einigen mustermenüpunkten die man nur noch mit funktionen versehen muss?
 

ARadauer

Top Contributor
nein du musst nicht alles von hand programmieren. es gibt natürlich komponenten die du verwenden kannst, wie zb den datei öffnen dialog.
Ich würde das nicht als Rahmen sehen, dass du nur noch mit Funktionen vershen musst, sondern eher als eine Sammlung von Komponenten die du nach deinen Wünsschen zusammenstellen und erweitern kannst.
 
G

Gast2

Gast
Ich denke du hast noch nie was mit GUI Programmierung gemacht, daum solltest du erstmal klein anfangen.
Wenn du unbedingt das Eclipse Framework benutzen willst: Ist das hier wahrscheinlich am besten.
Eclipse RCP Tutorial

Aber wie gesagt ich denke für den Einstieg ist das Eclipse Framework zu schwer.
 

BlubBlub

Bekanntes Mitglied
ich hab schon ein paar sachen mit GUI programmiert also ganz unwissend bin ich nicht.
hab zwar jetzt nicht riesige projekte damit programmiert aber so ein paar kleinigkeiten, halt
was man im rahmen eine semesters drüber beigebracht bekommt.
natürlich fehlt mir darin deshalb dann auch noch einiges an erfahrung.
ich wollte aber jetzt mal probieren halt etwas komplexeres damit zu programmieren.
und deshalb hab ich auch bewusst mich dafür entschieden die menüpunkte "datei öffnen",
"datei speichern" und "datei drucken" mit aufzunehmen.

ich weiß, dass man so einen editor sich selbst programmieren kann indem man die entsprechende swing objekte verwendet.
also so ein fenster mit einem textfeld und den untermenüs könnte ich erstellen. mit den funktionen für "datei öffnen", "datei speichern" und "datei drucken" versehen damit hab ich keine erfahrung.
aber laut dem beitrag von ARadauer müsste es anscheinend ne funktion dafür in irgendeiner swing klasse dafür geben. vielleicht könnt ihr mir einen tipp geben in welcher. ich werd auch mal gleich selbst danach schauen.

eine andere möglichkeit wäre gewesen ein programm zu verwenden welches automatisch den quellcode generiert indem man die enstprechenden graphischen objekte einfügt, aber dabei programmiert man ja nichts selbst also ergibt das keinen wirklichen lerneffekt darum wollt ich von solchen programmen eigentlich abstand nehmen.

ich hatte halt gedacht dass es für solche oft wiederkehrenden programmkonstrukte auch schon gewissen fertigen code gibt, den softwareentwickler als basis verwenden und ihn an ihre bedürfnisse anpassen.
 

Onkel Hatti

Bekanntes Mitglied
Naja, fast...

mit
Java:
 javax.swing.JFileChooser

gibt es einen fertigen Dateiauswahldialog. Damit bekommt man aber nur die Datei im Dateisystem, die man laden oder speichern möchte. Den Inhalt der Datei hat man dann aber noch nicht. Das laden/speichern des Textes muss man dann noch selber machen.

IBM hatte vor Jahren mal "Visual Age for Java" (VAJ) im Programm. Damit habe ich angefangen, Java zu lernen. Ich hatte keine Ahnung, wie das geht, gerade die GUI Programmierung, ich kam damals aus dem Turbo Pascal - Lager. Mit VAJ konnte man ganze Anwendungen zusammenklicken, ein echtes "Rapid Application Development". Der erzeugte Code war zwar aus heutiger Sicht durchaus als grauenvoll zu bezeichnen, aber dadurch habe ich gelernt, wie GUI Code erzeugt wird, wie sich manuelle Veränderungen im Code visuell auswirken, etc. Und das GridBagLayout ist ohne GUI esigner nur schwer handlebar...

Hatti
 
G

Gast2

Gast
Wie du in deinem Beitrag mit den Frameworks sicher gelesen hast sind Frameworks nur Werkzeuge und Ansammlungen von Klassen die du verwenden kannst. Was die GUI und Widgets machen sollen musst du schon selber bestimmen. Mach das Tutorial einfach durch dann siehst du doch wie es läuft ;)...
 
G

Gastredner

Gast
Mit dem JFileChooser existiert eine Komponente, die dir bereits den Aufwand der Dateiauswahl abnimmt. Laden und Speichern lassen sich damit relativ einfach erledigen:
Code:
JFileChooser erzeugen
Laden- bzw. Speichern-Dialog anzeigen lassen
Hat der Benutzer OK gedrückt und auch eine Datei ausgewählt?
Wenn ja:
	Existenz der Datei prüfen und sie ggf. anlegen
	Passenden OutputStream öffnen und Inhalt der JTextArea mithilfe des Streams in die Datei schreiben
	// bzw. beim Laden ein InputStream und die Datei auslesen
	Stream schließen
Effizienter ist es dabei, wenn du nicht bei jedem Aufruf der Speicher- bzw. Lade-Routine erneut einen JFileChooser erzeugst, sondern nur ein einziges Mal (du ihn also als Klassenvariable anlegst und z. B. im Konstruktor initialisierst). Angenehmer Nebeneffekt: Bei mehrfachem Aufruf "merkt" sich der JFileChooser das zuletzt vom Benutzer ausgewählte Verzeichnis, was die Bedienung für eben jenen angenehmer gestaltet.

Drucken wird in der Insel beschrieben: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 17.8 Drucken (hab ich mich selbst nie näher mit beschäftigt, daher nur der Verweis auf die Insel).
 
G

Gast2

Gast
Warum redest ihr eigentlich alle von Swing? Der TO hat nie erwähnt dass er Swing benutzen will :D...
 
G

Gastredner

Gast
Bitte...
Code:
FileDialog erzeugen
Dialog anzeigen lassen
Ist der Rückgabewert des Dialogs ungleich null?
Wenn ja:
	Aus dem Rückgabe-String ein File erstellen, Existenz der Datei prüfen und sie ggf. anlegen
	Passenden OutputStream öffnen und Inhalt des Text-Widgets mithilfe des Streams in die Datei schreiben
	// bzw. beim Laden ein InputStream und die Datei auslesen
	Stream schließen
:bae:
Jetzt sein wir aber mal ehrlich: Wie viele beginnen GUI-Entwicklung mit SWT statt mit Swing? Und jetzt nenn bitte nicht AWT, das ist keine Alternative mehr.
 
G

Gast2

Gast
Er hat oben genannt er will "java eclipse" verwenden was auch immer das heißen mag ;)...
denke mal er meint damit schon eher einen Eclipse RCP ;)
 

BlubBlub

Bekanntes Mitglied
danke für die antworten, hab mir in den letzten beiden tagen auch mal durchgelesen was in "java ist auch eine insel" darüber steht.
ich werd jetzt einfach mal versuchen das zu programmieren =)
 

dzim

Top Contributor
Ah... er hat sich wohl doch eher für Swing entschieden...

Wie auch immer, ein andere Thread der dich interessieren könnte war der hier:
http://www.java-forum.org/awt-swing-swt/106865-macht-besten-gui.html

Ich hab auch erst mit Swing angefangen und bin dann auf SWT und Eclipse RCP (beides in einem "Rutsch") umgestiegen.
Wenn du keine Wunder von deiner Anwendung erwartest, geht das alles recht einfach.

Einzig das Drucken habe ich bis heute noch nicht so recht hinbekommen (aber zugegebenermaßen auch lange schon nicht mehr probiert...)
 
T

Tomate_Salat

Gast
Naja, ich bin auch immer mal wieder abgetrieftet und habe mir RCP angeschaut. Aber iwie sagt mir das nicht zu :-/ und SWT (ohne RCP) ... da hab ich das Gefühl: da fehlt die hälfte und bin wieder bei Swing gelandet.
 
G

Gastredner

Gast
Naja, ich bin auch immer mal wieder abgetrieftet und habe mir RCP angeschaut. Aber iwie sagt mir das nicht zu :-/
RCP hat auch durchaus seine Schattenseiten (unvollständige Dokumentation, dadurch teils schwer vorhersehbares Verhalten; hohe Komplexizität), aber ich persönlich finde den Ansatz gut und auch relativ gelungen umgesetzt, zumindest soweit ich das bisher bewerten kann.

und SWT (ohne RCP) ... da hab ich das Gefühl: da fehlt die hälfte und bin wieder bei Swing gelandet.
Bei mir sieht es eher anders aus: Ich habe das Gefühl, Swing könnte einiges von SWT gut vertragen. Die Sammlung von LayoutManagern ist kleiner, aber durchdachter, für viele wichtige Anwendungsfälle existieren bereits vorgefertigte Lösungen (besonders zusammen mit JFace - man hat eine Vielzahl von Dialogen und ein recht einfaches Wizardsystem) und das Databinding-Framework kann zwar nervig sein, funktioniert nach einer kurzen Eingewöhnungsphase allerdings doch schon ziemlich gut.:)
Allerdings habe ich so einige Elemente von SWT noch nicht richtig benutzt, daher kann sich dieser Eindruck natürlich noch ändern. Bisher sieht es allerdings nicht danach aus, und ich bin bereits gespannt, wie sich die Lage mit der offiziellen Freigabe von XWT und den stylebaren Komponenten weiter entwickeln wird.
 

Daniel_L

Bekanntes Mitglied
Du kannst alternativ zu Eclipse auch NetBeans verwenden, das - (nicht nur) meiner Meinung nach - intuitiver für den Einstieg ist.

Einen Editor erstellst du dann wahlweise auf Basis einer RCP: NetBeans
Oder aber du nutzt NetBeans als IDE und erstellst deinen Editor mit dem GUI-Builder, eine Übersicht hier: Java and JavaFX GUI Application Learning Trail - NetBeans Tutorials, Guides and Articles

Gute Video-Casts dazu hier: NetBeans GUI Builder: Getting Familiar

Ich persönlich finde NetBeans insgesamt viel intuitiver und besser bedienbar, aber auch die Tutorials und Ressourcen auf der Homepage ist wesentlich übersichtlicher gestaltet als bei eclipse.org. Wenn du also noch keine Erfahrung mit Eclipse hast, dann steig mit NetBeans ein. Mittlerweile ist NetBeans auch so gereift, dass man getrost dabei bleiben kann und nicht, wie früher immer gerne empfohlen, auf Eclipse umsteigen muss.
 
G

Gast2

Gast
G

Gast2

Gast
RCP hat auch durchaus seine Schattenseiten (unvollständige Dokumentation, dadurch teils schwer vorhersehbares Verhalten; hohe Komplexizität), aber ich persönlich finde den Ansatz gut und auch relativ gelungen umgesetzt, zumindest soweit ich das bisher bewerten kann.

Unvollständige Dokumentation??? Bei welchem Thema?
Bei einem großen und mächtigen Framework ist die Komplexität je tiefer man reingeht immer hoch. Ist bei Spring, Hibernate und Co genauso. Aber das E4 wird deutlich besser und einfacher.
Wenn du für Swing ein ganzes Framework bereitstellen willst wird es auch kompliziert werden.

Allerdings habe ich so einige Elemente von SWT noch nicht richtig benutzt, daher kann sich dieser Eindruck natürlich noch ändern. Bisher sieht es allerdings nicht danach aus, und ich bin bereits gespannt, wie sich die Lage mit der offiziellen Freigabe von XWT und den stylebaren Komponenten weiter entwickeln wird.

Ja beim RCP ist schon alles in einem Framework bei Swing muss man sich mehrere Frameworks und libs zusammen suchen. Wie z.B. gute LayoutManager, DockingFramework,Databinding. Dafür kann man Swing leichter eigene Komponenten "stylen".
Aber ich finde SWT/JFace hatte bis jetzt alle Komponenten die ich benötigt habe und die lassen sie auch erweitern.
 
G

Gast2

Gast
Deswegen ist der Code-Block ja standardmäßig zusammengeklappt, damit man diese Probleme erst mal nicht hat! :toll:

Ja für Anwendungen daheim... Aber in einer Firma gibt es Code Review usw. und spätestens da sollte der Code übersichtlich sein damit man ihn auch bei Bedürfnissen erweitern kann.
 

Daniel_L

Bekanntes Mitglied
Der automatisch generierte Code von NetBeans sieht ja vor allem beim "Free Layout" etwas unübersichtlich aus, wenn man also alle Komponenten beliebig platzieren kann. Bei den anderen, gängigen Layouts ist der automatisch generierte Code sauber und aufgeräumt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I LookAndFeel HTML Auflösung - Online Editor programmieren AWT, Swing, JavaFX & SWT 2
izoards HTML Editor AWT, Swing, JavaFX & SWT 3
C HTML Editor Eingabemaske kafenio Ersatz AWT, Swing, JavaFX & SWT 7
L JavaFX JavaFX Diagram Editor AWT, Swing, JavaFX & SWT 3
L Editor does not contain a main type AWT, Swing, JavaFX & SWT 1
K Java FX: Mathematik Editor AWT, Swing, JavaFX & SWT 14
K Html Editor AWT, Swing, JavaFX & SWT 3
B Java FX FXML Textarea SceneBuilder als XML Editor AWT, Swing, JavaFX & SWT 1
R Editor Wörter zählen AWT, Swing, JavaFX & SWT 2
S JavaFX FXML-Editor mit Java 7? AWT, Swing, JavaFX & SWT 2
U WYSIWYG Text-Editor für JFrames AWT, Swing, JavaFX & SWT 8
Developer_X Java JTable - Combobox + Checkbox - Cellrenderer + Editor AWT, Swing, JavaFX & SWT 3
F JAVA-EDITOR: Panel in Frame aufnehmen AWT, Swing, JavaFX & SWT 3
G Text im textfeld in einem Editor anzeigen AWT, Swing, JavaFX & SWT 18
T SelectAll bei JXTreeTable Editor AWT, Swing, JavaFX & SWT 2
B Swing Filter für JTable mit Netbeans Editor AWT, Swing, JavaFX & SWT 2
A Swing Imagemap-Editor -> XML AWT, Swing, JavaFX & SWT 8
S SWT HTML-WYSIWUG-Editor AWT, Swing, JavaFX & SWT 3
B GUI Editor nachträglich anschalten? AWT, Swing, JavaFX & SWT 4
B Netbeans Swing/AWT Editor editierbar? AWT, Swing, JavaFX & SWT 5
X Frei nutzbarer HTML Editor AWT, Swing, JavaFX & SWT 13
B WYSIWYG-HTML-Editor / Validator für JAVA AWT, Swing, JavaFX & SWT 2
S Strecken-Editor AWT, Swing, JavaFX & SWT 19
S Visual Editor mit main Methode AWT, Swing, JavaFX & SWT 3
alderwaran Swing XML editor plugin für eigene anwendung AWT, Swing, JavaFX & SWT 2
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
R JTable - eigener Editor - Mouse events AWT, Swing, JavaFX & SWT 2
N Eigener Grafik Editor mit fehlerhafter Anzeige AWT, Swing, JavaFX & SWT 4
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
J eclipse/Visual Editor: Auf Felder/Methoden vom Hauptframe zugreifen AWT, Swing, JavaFX & SWT 4
G Swing Hex-Editor AWT, Swing, JavaFX & SWT 19
R Swing Editor für jTable AWT, Swing, JavaFX & SWT 6
N Swing Dynamische JRadioButtons und Visual Editor AWT, Swing, JavaFX & SWT 4
data89 Kleiner UML Editor AWT, Swing, JavaFX & SWT 4
F Visual Editor Installationsprobleme AWT, Swing, JavaFX & SWT 12
C Suche fertigen HTML editor AWT, Swing, JavaFX & SWT 2
K Eclipse Visual Editor rendert die Komponenten nicht richtig AWT, Swing, JavaFX & SWT 2
D Events bei Tabs in einem Editor AWT, Swing, JavaFX & SWT 2
V Visual Editor und nerviges FreeFormComponentsHostDialog AWT, Swing, JavaFX & SWT 3
K Tabelle -> Editor -> b-estimmte Tasten AWT, Swing, JavaFX & SWT 17
N Kennt jemand einen WYSIWYG Editor für AWT? AWT, Swing, JavaFX & SWT 4
C Spielfeld Editor AWT, Swing, JavaFX & SWT 4
M Editor-Komponente AWT, Swing, JavaFX & SWT 3
M Einfachen UI Editor basteln AWT, Swing, JavaFX & SWT 2
D Brauche einfachen HTML Editor AWT, Swing, JavaFX & SWT 2
O Editor in JTable mit mouseMoved aufrufen? AWT, Swing, JavaFX & SWT 2
K Keine SWT-Komponenten-Gruppe in Palette des Visual Editor AWT, Swing, JavaFX & SWT 2
R Editor mit "Gehe zu"-Funktion AWT, Swing, JavaFX & SWT 4
T Editor auf Basis JFrame in ein JPanel wandeln - Problem! AWT, Swing, JavaFX & SWT 5
G JTable Editor AWT, Swing, JavaFX & SWT 7
G Selbstprogrammierter Editor - brauche Hilfe AWT, Swing, JavaFX & SWT 5
N JTable mit Editor? AWT, Swing, JavaFX & SWT 3
M Hilfe bei vers. Fonts und Zeilenlänge in eigenem Editor. AWT, Swing, JavaFX & SWT 3
J GUI-Editor AWT, Swing, JavaFX & SWT 18
G Editor Lade Problem AWT, Swing, JavaFX & SWT 22
G Editor wie MS Word AWT, Swing, JavaFX & SWT 3
H eigener Editor und JList als PopMenu AWT, Swing, JavaFX & SWT 6
G JTable: Zellenhöhe mit neuem CellRenderer & Editor AWT, Swing, JavaFX & SWT 17
P Wie richte ich den Visual Editor ein ? AWT, Swing, JavaFX & SWT 2
C wysiwyg Editor zum Einbinden in meinem Code AWT, Swing, JavaFX & SWT 14
S [JTable] Editor erst nach Doppelklick AWT, Swing, JavaFX & SWT 5
m@nu JTable: Editor stoppen AWT, Swing, JavaFX & SWT 8
A irgendwo ein fertiger WYSIWYG HTML-Editor da? AWT, Swing, JavaFX & SWT 7
K editor fuer swing und awt AWT, Swing, JavaFX & SWT 7
W Editor Syntax Farben AWT, Swing, JavaFX & SWT 2
N Swing Kugel/Sphäre programmieren AWT, Swing, JavaFX & SWT 12
H RPG Programmieren, label.setLocation funktioniert nicht AWT, Swing, JavaFX & SWT 7
H LayoutManager RPG Programmieren, eigenes Spielfeld grafisch generieren aus Tileset AWT, Swing, JavaFX & SWT 18
T Button für GUI programmieren AWT, Swing, JavaFX & SWT 1
T Wie kann man in java aufwendige grafiken programmieren AWT, Swing, JavaFX & SWT 1
A 2D-Grafik Sprung programmieren AWT, Swing, JavaFX & SWT 35
M Nutzer interface Programmieren AWT, Swing, JavaFX & SWT 2
J Kleines Helikopterspiel programmieren AWT, Swing, JavaFX & SWT 2
R kleinen JPanelEditor programmieren AWT, Swing, JavaFX & SWT 3
C Gesucht: Hilfe beim programmieren. AWT, Swing, JavaFX & SWT 1
C Hilfe beim programmieren mit studiumgebundenes Projekt AWT, Swing, JavaFX & SWT 1
2 Senso bzw SimonSays programmieren AWT, Swing, JavaFX & SWT 8
T Möchte Android-ähnlich programmieren AWT, Swing, JavaFX & SWT 7
R Eclipse GUI Programmieren AWT, Swing, JavaFX & SWT 8
J 2D-Grafik Menü programmieren AWT, Swing, JavaFX & SWT 2
J Swing Landkarte mithilfe von Swing programmieren AWT, Swing, JavaFX & SWT 4
T Kleinen "Gui Builder" programmieren AWT, Swing, JavaFX & SWT 12
SexyPenny90 Wie Ball programmieren, der im 4 Eck rum fliegt AWT, Swing, JavaFX & SWT 7
I Rechner programmieren AWT, Swing, JavaFX & SWT 6
F UI Toolkit programmieren AWT, Swing, JavaFX & SWT 9
3 Eigenes Frame/Window programmieren AWT, Swing, JavaFX & SWT 2
S Desktop Programmieren AWT, Swing, JavaFX & SWT 2
A Programmieren einer Agenda mit einer Liste (als Applet und .txt zum Speichern) AWT, Swing, JavaFX & SWT 7
C Swing Orderbook programmieren AWT, Swing, JavaFX & SWT 6
LittleJavaCup Suchmaschine programmieren (wie bei Windows) AWT, Swing, JavaFX & SWT 2
T AWT verschiedene Oberflächen programmieren AWT, Swing, JavaFX & SWT 5
vandread Swing Probleme mit "Game of Life" programmieren AWT, Swing, JavaFX & SWT 8
J Modelleisenbahn - Kontroll-Tafel programmieren AWT, Swing, JavaFX & SWT 3
L Regler in Java Programmieren AWT, Swing, JavaFX & SWT 12
I Preisvergleich programmieren AWT, Swing, JavaFX & SWT 4
P Swing Roter Faden beim Applet GUI Programmieren AWT, Swing, JavaFX & SWT 2
J FAQ programmieren, welche Swing-Elemente AWT, Swing, JavaFX & SWT 7
G GUI - Inhalte wechseln (Eingabe-Assistenten programmieren) AWT, Swing, JavaFX & SWT 2
C Zeitplaner: Terminblock programmieren AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben