Announcement

Collapse
No announcement yet.

wie bekomme ich ein normales Fenster?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • wie bekomme ich ein normales Fenster?

    n'abend zusammen,

    ich habe nochmal ne Anfängerfrage.
    unzwar möchte ich jetzt nen Rechner im windows look programmieren der soll ungefähr so aussehen:

    789/
    456*
    123-
    0,=+

    für das Feld, wo oben die Zahlen angezeigt werden sollen habe ich noch gar keinen Plan.
    für die restlichen Buttons habe ich mir das in etwa so gedacht

    package meintaschenrechner;
    import java.awt.*;

    public class Rechner extends Frame
    {

    Button seven, eight, nine, divide,
    four, five, six, multiply,
    one, two, three, minus,
    zero, comma, equal, plus;

    public Rechner()
    {
    setLayout(new GridLayout(4,4));
    setSize(300,150);
    seven = new Button("7");
    eight = new Button("8");
    nine = new Button("9");
    divide = new Button("/");
    four = new Button("4");
    five = new Button("5");
    six = new Button("6");
    multiply = new Button("*");
    one = new Button("1");
    two = new Button("2");
    three = new Button("3");
    minus = new Button("-");
    zero = new Button("0");
    comma = new Button(",");
    equal = new Button("=");
    plus = new Button("+");
    add(seven);
    add(eight);
    add(nine);
    add(divide);
    add(four);
    add(five);
    add(six);
    add(multiply);
    add(one);
    add(two);
    add(three);
    add(minus);
    add(zero);
    add(comma);
    add(equal);
    add(plus);

    }

    }

    vielleicht kann mir jm helfe und sagen ob ich damit überhaupt auf dem richtigen weg bin.
    eclipse sagt auch sobald ich -extends Frame- eingebe,
    "the serializable class Rechner does not declare a static final serialVersionUID field of type long"
    weiss jm was das heisst(was ich da machen muss)
    ich möchte nur erstmal das Fenster der braucht noch nicht rechnen zu können
    (das will ich dann erstmal selber versuchen)

    Schonmal Danke im Vorraus an alle

  • #2
    n'abend nochmal,
    wollte nur kurz bescheid sagen das ich das Fenster jetzt habe aber noch keine Buttons darin und auch noch keinen Plan wie ich die Zeile, wo die eingegebenen Zahlen bzw. das Ergebnis stehen sollen hinbekommen soll.

    Comment


    • #3
      Originally posted by Andre_M View Post
      n'abend nochmal,
      wollte nur kurz bescheid sagen das ich das Fenster jetzt habe aber noch keine Buttons darin und auch noch keinen Plan wie ich die Zeile, wo die eingegebenen Zahlen bzw. das Ergebnis stehen sollen hinbekommen soll.
      ich bin auch Java Anfänger aber ich denke du solltest dir mal TextArea oder TextField anschauen.
      Der Rest schaut eigentlich ganz gut aus, wirste aber schon bemerkt haben

      Wie gesagt ich bin auch Anfänger und wenn Anfänger anfängern etwas helfen könne, finde ich es mal Klasse Wenn ich mit TA oder TF falsch liege, kann das j a jemand korrigieren

      Comment


      • #4
        Allgemein würde ich eher die Klassen JFrame, JButton und so weiter anstatt den AWT-Klassen benutzen.
        AWT steht für Abstract Window Toolkit und ist zwar eine funktionsfähige Bibliothek, aber doch eher Basis, Swing (die GUI-Klassen mit dem J vor dem Namen) ist die Standard-Implementierung basierend auf dem AWT.

        Dann platziert man die Komponenten nicht direkt auf dem Fenster, sondern auf einer Pane, welche die gesamte innere Fläche (das Fenster ohne Rahmen und Menüleiste) darstellt:
        getContentPane().add(...);

        Noch ein Tipp:
        Wenn man nach dem Platzieren sämtlicher GUI-Komponenten die Methode pack() auftruft, berechtet das Fenster seine Größe selbst - so daß die Komponenten alle zu sehen sind und kein Freiraum drum herum ist. Anschließend kann man noch mit setResizable(false) das Ändern der Größe durch den Anwender verhindert, was bei einem Rechner sinnvoll sein könnte.

        Comment


        • #5
          Jau, besten Dank nochmal für die Antworten, Problem ist gelöst

          Comment

          Working...
          X