Was für ein unsinn :autsch:anfänger15 hat gesagt.:Ich würde dir Swing empfehlen, weil SWT veraltet ist und AWT nicht plattformunabhängig ist.
AWT ist veraltet, platformunabhängig sind sie erstmal alle.
Nein, Swing sieht gar nicht aus. Ein Look and Feel sieht aus. Ein Cross Platform Look and Feel sieht auf verschiedenen Platformen nahezu gleich aus, andere Look and Feels imitieren das System Look and Feel.anfänger15 hat gesagt.:Swing sieht auf jedem eben genau gleich aus. Sorry war vllt. undeutlich ausgedrückt.
Ganz einfach. Swing zeichnet alles so das es zu 99% so aussieht wie das System Look and Feel. SWT hingegen ist das System Look and Feel, da native Widgets verwendet werden.MaiTie hat gesagt.:was meinst du mit es sieht am nativsten aus?![]()
Swing, SWT, QT,... mir doch egal. Größere Programme kann man mit allen schreiben, ja, sogar mit AWT.was würdest du mir empfehlen? Also ich will ein etwas größeres Programm schreiben, und es hat auch mehrere Fenster
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.WindowConstants;
public class FrameDemo {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
//auskommentieren um den vergleich zu sehen
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(new JTree());
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
throws ClassNotFoundException, InstantiationException,
IllegalAccessException, UnsupportedLookAndFeelException
Deshalb liest man, und schreibt nicht wild drauf los.MaiTie hat gesagt.:aber von allein, kommt man ja leider nicht auf sowas ^^
Ja. Try/Catch ist zu bevorzugen, aber so war kürzer.MaiTie hat gesagt.:Code:throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException
das ist dann bestimmt für das Look and Feel oder?
Deshalb liest man, und schreibt nicht wild drauf los.
Ja. Try/Catch ist zu bevorzugen, aber so war kürzer.
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Wildcard hat gesagt.:Nein, Swing sieht gar nicht aus. Ein Look and Feel sieht aus. Ein Cross Platform Look and Feel sieht auf verschiedenen Platformen nahezu gleich aus, andere Look and Feels imitieren das System Look and Feel.anfänger15 hat gesagt.:Swing sieht auf jedem eben genau gleich aus. Sorry war vllt. undeutlich ausgedrückt.
Das Cross Platform L'n'F ist aber nicht wirklich der Renner, daher wird in den meisten Anwendungen das System Look and Feel gewählt. Dort sehen dann alle Widgets je nach Plattform (gewollt) sehr unterschiedlich ausanfänger15 hat gesagt.:Ich meine, da Swing selbst zeichnet sehen alle Swing-Komponenten gleich bzw. ähnlich aus(mit dem gleichen Look And Feel).
System Look and Feel ist auf Mac Cocoa, auf Windows das Windows Theme auf Gtk das Gtk Theme.
Vergleich einfach selbst:
Code:
Code:import javax.swing.JFrame; import javax.swing.JTree; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.WindowConstants; public class FrameDemo { public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException { //auskommentieren um den vergleich zu sehen UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(new JTree()); frame.setLocationRelativeTo(null); frame.setVisible(true); } }
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(new JTree());
frame.setLocationRelativeTo(null);
frame.setVisible(true);
Ich denke nicht das du das willst. Warum denkst du es zu wollen?MaiTie hat gesagt.:Wie kann ich denn jetzt dieses Fenster aufrufen? Es ist ja dann in einer anderen Klasse drin. Nun würde ich gerne so ein JFrame über ein Ereignis aufrufen. Weiß einer, da weiter?