Buttons sind riesig
-
Meine Buttons sind rießig, ich weiß nicht wie ich das ändern kann, da es für
die Buttons ja als Parameter nur den Namen gibt und keine Größe.
habe auch schon versucht die Werte ausdem Grid Layout zu verändern, aber das
brachte auch nicht den gewünschten erfolgWie kann ich die Buttons denn verkleinern?
Hier mein Programm, wie es im Moment läuft:/* * @(#)ICafe.java 1.0 03/10/24 * * Ein Virtuelles Internetcafé * */ import java.awt.*; import java.awt.event.*; import java.applet.*; public class ICafe extends Applet { int anz_kaffee = 0; int anz_tee = 0; float rechnung = 0; // Labels Label LbKaffee = new Label ("Kaffee"); Label LbTee = new Label ("Tee"); Label LbRechnung = new Label ("Herzlich Willkommen im Café"); // Buttons Button BnKaffee = new Button ("Kaffee 0,50"); Button BnTee = new Button ("Tee 0,50"); Button BnRechnung = new Button ("Zur Kasse"); public void init() { setLayout (new GridLayout (3,2,20,0)); add (BnKaffee); add (LbKaffee); add (BnTee); add (LbTee); add (BnRechnung); add (LbRechnung); BnKaffee.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent e) { // Anzahl an Kaffee aktualisieren anz_kaffee++; LbKaffee.setText (anz_kaffee + " Kaffee"); } }); BnTee.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent e) { // Anzahl an Tee aktualisieren anz_tee++; LbTee.setText (anz_tee + " Tee"); } }); BnRechnung.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent e) { // "Rechnung schreiben" rechnung = (float)anz_tee/2 + (float)anz_kaffee/2; BnRechnung.setLabel (rechnung + " Euro"); LbRechnung.setText ("Vielen Dank für ihren Besuch"); // Thread pausieren, anschließend die Werte nullen try { Thread.sleep (1350); anz_kaffee = anz_tee = 0; LbTee.setText (anz_tee + " Tee"); LbKaffee.setText (anz_kaffee + " Kaffee"); BnRechnung.setLabel ("Zur Kasse"); LbRechnung.setText ("Herzlich Willkommen im Café"); } catch (InterruptedException ea) { LbRechnung.setText ("InterruptedException"); } } }); } }
-
Soweit ich das hier in der Java Dokumentation sehen kann, erbt die Klasse Button die Methode: "setSize(int, int)"
Versuch mal folgendes:
BnKaffee.setSize(5, 5);
Hab keine Ahnung ob das funktioniert,bin selber noch Newbie
Grüße
Canse78
-
Damit änderte sich leider nichts
-
Das liegt wie immer am LayoutManager. Ich persönlich finde alle LayoutManager außer BorderLayout und GridBagLayout schrecklich und empfehle niemandem sie zu nutzen. GridBagLayout ist so ziemlich der flexibelste Manager den es gibt - allerdings viel zu kompliziert. Es gibt durchaus andere, frei verfügbare LayoutManager wie z.b. TableLayout (http://www.clearthought.info/software/TableLayout/) die sehr intuitiv und einfach zu benutzen sind.
Für all diejenigen, die mit den JDK-Bordmitteln auskommen (müssen) rate ich ein wenig mit den xxxSize-Eigenschaften (preferredSize, minimumSize, maximumSize) der Controls zu experimentieren.
-
Das ist für die Schule, daher bin ich gezwungen mich im groben an diese Vorgaben
zu halten, auch wenn ich oft kleine spielereien einbaue, wie das Pausieren oben
und anschließend den Text zu ändern.
Werde mir diese Layouts aber mal anschauen, für meine privaten Zwecke kann ich ja
nehmen was ich will