Auswahl der Grafikbibliothek

Kotak

Mitglied
Hi Leute! :D

Also gleich mal vorneweg:
Ich bin momentan ein absoluter Java Anfänger, und schreibe gerade an meinem ersten Projekt!
Deswegen sind meine Fragen immoment eher... zu den Basics halt. =)

Also nun zu meiner Frage:
Ich suche eine Grafikbibliothek, bei der das Fenster so angezeigt wird, wie es nunmal Standard im OS ist. Also wenn ich Windows habe, soll es nach Windows aussehen, und wenn ich was anderes habe, dann soll's halt so wie das "Andere" aussehen. ^^
Google sagte mir, das ein Beispiel dafür AWT sei...
Gibt es da noch andere/bessere?

Mein "Projekt" erzeugt quasi eine .jar Datei. Diese .jar Datei soll auf jedem PC ohne Probleme laufen, der Java installiert hat. Muss ich, damit dann bei jedem auch das Programm mit z.B. AWT angezeigt wird, irgendwas/was in der .jar mitliefern?


So - das waren meine ersten paar Fragen...
Weitere folgen! ;)
(Und ich sag's ambesten nochmal: Ich bin absolut Anfänger in Java. Bis jetzt hab ich nur HTML, CSS und PHP gemacht - also verübelts mir bitte nicht, das ich keine Ahnung hab. ^^)


Danke für jede Antwort!
~MfG Kotak
 
G

Gast2

Gast
Google sagte mir, das ein Beispiel dafür AWT sei...
Gibt es da noch andere/bessere?
SWT z.b.

Mein "Projekt" erzeugt quasi eine .jar Datei. Diese .jar Datei soll auf jedem PC ohne Probleme laufen, der Java installiert hat. Muss ich, damit dann bei jedem auch das Programm mit z.B. AWT angezeigt wird, irgendwas/was in der .jar mitliefern?
Nein, AWT ist Teil der Standard API.
 

JCODA

Top Contributor
Ich hab schon oft in Verbindung mit deinem Problem Swing "Look and Feel" gehört.

Da kann man z.b. ein "SystemLookAndFeel" setzen.

Habe leider noch nicht damit gearbeitet, aber damit sollte es kein Problem mehr für dich sein.
 

Kotak

Mitglied
Danke schonmal für die Antworten! ^^

@JCODA:
CrossPlatformLookAndFeel—this is the "Java L&F" (also called "Metal") that looks the same on all platforms. It is part of the Java API (javax.swing.plaf.metal) and is the default that will be used if you do nothing in your code to set a different L&F.

SystemLookAndFeel—here, the application uses the L&F that is native to the system it is running on. The System L&F is determined at runtime, where the application asks the system to return the name of the appropriate L&F.
Wenn ich das richtig verstanden habe, ist letzteres nicht in der Java API, oder?
Oder doch? ^^
(Weiteres basiert darauf, das es nicht im Standard dabei ist... Hoffentlich stimmt das ;D )
Wie könnte man es hinbekommen, das benötigte Dateien für "SystemLookAndFeel" in der .jar mitgeliefert werden?


@EikeB: Oh, ich habe SWT statt AWT in meinem ersten post gemeint, aber hatte grad einen Text zu AWT gelesen, deswegen hab ich es falsch gesagt. Sry. :/
Zitat von Wikipedia (AWT):
... Das bedeutet, dass AWT die nativen GUI-Komponenten des jeweiligen Betriebssystems zur Darstellung verwendet.
Also auch genau das was ich suche.

Nun habe wir also AWT, SWT und Swing mit dem speziellem "Extra".
AWT ist im Standard dabei.
Swing auch, aber vielleicht unser Look&Feel nicht.
SWT ist nicht im Standard dabei.

Nach meiner Einschätzung verbraucht AWT am wenigsten Speicherplatz, da es ja schon beim Standard dabei ist. Swing & SWT ja anscheinend nicht, also müsste man sie wenn möglich mitliefern, was auf Kosten der Größe geht. Stimmt doch, oder?

Also sieht es bei AWT genauso aus, wie bei den Bildern hier?
SWT: The Standard Widget Toolkit
(Ich weiß dass der Link zu SWT führt)


Wenn das jetzt alles stimmt was ich gesagt habe, dann ist glaube ich meine Frage erledigt. :D
 
Zuletzt bearbeitet:

pausch

Aktives Mitglied
Wenn du mit Swing Programmiert, kannst du einfach einmal am Anfang dies schreiben:

Java:
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (UnsupportedLookAndFeelException e) {
dosth();
} catch (ClassNotFoundException e){
doanythingelse();
} catch (InstantiationException e){
doanythingdifferent();
} catch (IllegalAccessException e){
handleLastException();
}

//Swing anwendung starten


Hiermit holst du das System-Look in deine Anwendung: Windows Nutzer sehen ihr Windows Look, GNOME Nutzer sehen GNOME und KDE Nutzer sehen KDE :)
Ich hoffe das hat dir geholfen

EDIT:
Swing ist im Standard JAVA umfang schon lange enthalten und AWT nutzt heutzutage kaum noch wer. Heutzutage wird [alles] in JAVA über swing geregelt und auch in der JAVA EE laufen die meisten Frameworks über swing. Von daher musst du dir da über deine ressourcen erstmal keinen kopf machen. Aber grade bei solchen einsteiger fragen verweise ich gerne auf JAVA ist auch eine Insel. Das Open Book. Das ist Qualitativ sehr gut und man findet nahezu alles, was man als hobbyentwickler braucht. Java ist auch eine Insel – 15 Komponenten, Container und Ereignisse
Java:
import javax.swing.*
müsste die meisten komponenten die du benötigst laden...

noch ein beispiel:

Java:
import javax.swing.*

public class SwingTest extends JFrame{

public SwingTest(){
setVisible(true);
setBounds(100, 100, 150, 150); //größe des Fensters: x startpos, y startpos, breite, höhe
setDefaultCloseOperation(EXIT_ON_CLOSE); //Damit unser Programm beim Fenster schließen auch endet...
}
}

}

Interessant sind jetzt noch die ganzen Swing Komponenten (JComponents) wie JButton, JTextField, JCombobox, JLabel etc. um mal ein paar wichtige zu nennen. Google ist dein freund, gerade wenn es um Java geht.. :)

viel erfolg noch
 
Zuletzt bearbeitet:
G

Gastredner

Gast
Hiermit holst du das System-Look in deine Anwendung: Windows Nutzer sehen ihr Windows Look, GNOME Nutzer sehen GNOME und KDE Nutzer sehen KDE :)
KDE-Nutzer sehen KDE-Elemente? Ich dachte, das SystemLookAndFeel unter Linux würde komplett auf GTK basieren?

Ich mag SWT und kann es prinzipiell auch empfehlen, allerdings nur zusammen mit JFace (welches SWT um viele nützliche Dinge erweitert). Swing hat den Vorteil direkt beim JRE mitgeliefert zu werden, was angesichts der Größe von SWT/JFace und den modernen Internetanbindungen allerdings nicht mehr wirklich stark ins Gewicht fällt. Für Swing dürftest du mehr Beispielcode und Tutorials finden, dafür ist das Aussehen auch mit dem SystemLookAndFeel nicht immer korrekt. SWT benutzt teilweise jedoch auch leicht abweichende, selbstgezeichnete Widgets.
Wenn es dir tatsächlich nur darum geht, native Widgets zu verwenden, würde ich zu SWT/JFace raten. Ansonsten solltest du beide Toolkits ausprobieren und dann danach entscheiden, mit welchem du lieber arbeitest und welches deine sonstigen Anforderungen (z. B. Widgets mit geändertem Aussehen) besser erfüllt.
 
Zuletzt bearbeitet von einem Moderator:

pausch

Aktives Mitglied
KDE-Nutzer sehen KDE-Elemente? Ich dachte, das SystemLookAndFeel unter Linux würde komplett auf GTK basieren?

Na gut, so genau hab ich mich damit jetzt noch nicht auseinander gesetzt, ich nutze nunmal GTK und da hab ich einfach auch auf KDE geschlossen. Wer sagt denn, dass KDE kein Java L&F mitliefert? Könnte ich mir durchaus vorstellen, aber: Probieren geht über Studieren :)
 
G

Gastredner

Gast
Gut, vielleicht schmeiße ich es jetzt auch mit SWT durcheinander - das setzt unter Linux ausschließlich auf GTK, weswegen auch an einer Qt-basierten SWT-Implementierung gearbeitet wird.
 

Kotak

Mitglied
Danke...
Ich glaube ich hab das jetzt mit dem Look&Feel und so hingekriegt... :D

Jetzt mache ich mir erstma nen GUI mit Jigloo oder wie das heißt ^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
O Warum ist die Auswahl falsch? Java Basics - Anfänger-Themen 4
D Zufällige Auswahl aus einem angelegten Array? Java Basics - Anfänger-Themen 10
P Auswahl bei einem Videoverleih limitieren Java Basics - Anfänger-Themen 4
J Objekt bei Auswahl in jList ändern Java Basics - Anfänger-Themen 6
D Auswahl und Ausgabe erstes Programm Java Basics - Anfänger-Themen 8
Moritz1508 Variablen Erstellung eines simplen Taschenrechners mit +/- - Auswahl Java Basics - Anfänger-Themen 2
M Erste Schritte Auswahl in einer JList Java Basics - Anfänger-Themen 2
X Nach switch case weiter mit Auswahl Java Basics - Anfänger-Themen 7
A Grundrechenarten; Aufforderung zur Bestätigung oder Auswahl Java Basics - Anfänger-Themen 25
das_leon if als Auswahl (Anfänger) Java Basics - Anfänger-Themen 1
L Speicherort auswahl Java Basics - Anfänger-Themen 4
M JComboBox Auswahl Java Basics - Anfänger-Themen 10
J JComboBox - Auswahl auslesen Java Basics - Anfänger-Themen 2
P Klassen Mehrseitige Auswahl Java Basics - Anfänger-Themen 6
N Auswahl von Arrays durch Stringeingabe Java Basics - Anfänger-Themen 20
K Zufällige Auswahl innerhalb eines Arrays und Arrays aus JLabel füllen Java Basics - Anfänger-Themen 32
JAVAnnik JList Auswahl Java Basics - Anfänger-Themen 2
D Erste Schritte Auswahl der richtigen tools Java Basics - Anfänger-Themen 7
R Auf auswahl in ner JComboBox reagieren Java Basics - Anfänger-Themen 3
J select-feld auswahl, jsp javascript Java Basics - Anfänger-Themen 2
J Sortieren nach Auswahl Java Basics - Anfänger-Themen 3
J Keylistener aber wie jTextField auswahl? Java Basics - Anfänger-Themen 3
S FileFilter je nach RadioButton-Auswahl Java Basics - Anfänger-Themen 4
L Auswahl auf welche Art gespeichert werden soll Java Basics - Anfänger-Themen 6
J Taschenrechner Combobox Reaktion auf Auswahl Java Basics - Anfänger-Themen 2
M zufällige auswahl eines Panels aus Grid Layout Java Basics - Anfänger-Themen 3
E Combobox Auswahl überprüfen Java Basics - Anfänger-Themen 7
G Befehl für Ende bei Switch-Auswahl Java Basics - Anfänger-Themen 11
C Bilder Vorschau und Auswahl Java Basics - Anfänger-Themen 4
X JFileChooser Auswahl Java Basics - Anfänger-Themen 4
X Auswahl durch Eingabe von Buchstaben - aber wie? Java Basics - Anfänger-Themen 2
E auswahl von dateien Java Basics - Anfänger-Themen 2
G Auswahl eines Arbeitsverzeichnisses Java Basics - Anfänger-Themen 7
V Tastatur Abfrage im Lisener für eine Auswahl üder Textfeld Java Basics - Anfänger-Themen 8
D Pfad-Auswahl mit dem JFileChooser Java Basics - Anfänger-Themen 8
I Editor auswahl Java Basics - Anfänger-Themen 6
G Auswahl anhand Wahrscheinlichkeiten Java Basics - Anfänger-Themen 5
J dynamische Auswahl einer überladenen Methode Java Basics - Anfänger-Themen 5
R Zweiseitige Auswahl Java Basics - Anfänger-Themen 16
B Auswahl mit switch ? Java Basics - Anfänger-Themen 6
G Schrift-Auswahl-Dialog? Java Basics - Anfänger-Themen 6
P Auswahl von JComboBox abfangen Java Basics - Anfänger-Themen 3
G Auswahl:in File schreiben, oder System.out.print Java Basics - Anfänger-Themen 4
C Auswahl problem Java Basics - Anfänger-Themen 5
W JComboBox- Auswahl schließt komplettes Fenster Java Basics - Anfänger-Themen 10
G Auswahl in DropDown feldern in JSP seiten als Action Aufruf Java Basics - Anfänger-Themen 2
G Filechooser ohne Auswahl für Dateityp Java Basics - Anfänger-Themen 2
D Über Button abhängig von Auswahl 2 versch. Fenster öffnen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben