Announcement

Collapse
No announcement yet.

JButton unter Swing

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

  • JButton unter Swing

    Hallo,
    jetzt habe ich eine neues Problem.
    Ich habe für die Gui eines Taschenrechners die Buttons angelegt, mit Funktion aber der Button soll einen anderen Namen tragen. Jetzt ist meine Frage wieso funktioniert dass nicht?

    Dass erste soll der Name sein, das zweite der Befehl.

    Code:
    private void erzeugeAlleJButtons() {
    
    		final ActionListener insert = new InsertAction();
    		final ActionListener command = new CommandAction();
    
    		erzeugeJButton("count", "count", command, buttonsComponent);
    		erzeugeJButton("mean", "mean", command, buttonsComponent);
    		erzeugeJButton("7", "7", insert, buttonsComponent);
    		erzeugeJButton("8", "8", insert, buttonsComponent);
    		erzeugeJButton("9", "9", insert, buttonsComponent);
    		erzeugeJButton("/", "div", command, buttonsComponent);
    		erzeugeJButton("DelAll", "DelAll", command, buttonsComponent);
    		erzeugeJButton("inv", "inv", command, buttonsComponent);
    		erzeugeJButton("std", "std", command, buttonsComponent);
    		erzeugeJButton("4", "4", insert, buttonsComponent);
    		erzeugeJButton("5", "5", insert, buttonsComponent);
    		erzeugeJButton("6", "6", insert, buttonsComponent);
    		erzeugeJButton("*", "mult", command, buttonsComponent);
    		erzeugeJButton("del", "del", command, buttonsComponent);
    		erzeugeJButton("n!", "Faculty", command, buttonsComponent);
    		erzeugeJButton("Sqrt", "Sqrt", command, buttonsComponent);
    		erzeugeJButton("1", "1", insert, buttonsComponent);
    		erzeugeJButton("2", "2", insert, buttonsComponent);
    		erzeugeJButton("3", "3", insert, buttonsComponent);
    		erzeugeJButton("-", "sub", command, buttonsComponent);
    		erzeugeJButton("swap", "swap", command, buttonsComponent);
    		erzeugeJButton("Sqr", "Sqr", command, buttonsComponent);
    		erzeugeJButton("Change", "Change", command, buttonsComponent);
    		erzeugeJButton("0", "0", insert, buttonsComponent);
    		erzeugeJButton(".", ".", insert, buttonsComponent);
    		erzeugeJButton("blank", "blank", insert, buttonsComponent);
    		erzeugeJButton("add", "add", command, buttonsComponent);
    		erzeugeJButton("enter", "enter", command, buttonsComponent);
    	}
    
    	private void erzeugeJButton(final String buttonText,
    			final String buttonCommand, final ActionListener i_oActionListener,
    			final JComponent buttonsComponent2) {
    
    		final JButton oButtonNeu = new JButton(buttonCommand.toLowerCase());
    		oButtonNeu.setActionCommand(buttonCommand);
    		oButtonNeu.addActionListener(i_oActionListener);
    		buttonsComponent2.add(oButtonNeu);
    	}
    Danke

  • #2
    "Funktioniert nicht" ist kein Fehler...

    Davon abgesehen wird es nicht funktionieren, weil du den buttonText überhauptr nicht benutzt
    Christian

    Comment


    • #3
      Mit Funktioniert nicht ist gemeint, dass die Buttons die Namen der Funktion haben und nicht so wie ich sie benannt habe.

      Wie benutze ich buttonText dann?
      Ich steh grad auf dem schlauch S-(

      Comment


      • #4
        Wie benutze ich buttonText dann?
        Das setzt ja erstmal voraus, dass du buttonText überhaupt benutzt

        (final String buttonText,
        final String buttonCommand, final ActionListener i_oActionListener,
        final JComponent buttonsComponent2)
        Das sind deine Parameter der Methode. Wo benutzt du buttonText? Da wo es darauf ankommt - im Konstruktor des Button - benutzt du buttonCommad!

        Wer hat dir das mit dem final gesagt?
        Warum nicht mit einem visuellen Editor?
        Warum so umständlich?

        Des Weiteren ist es ein Unterschied zwischen dem NAMEN Property eines Buttons und dem TEXT Property eines Buttons, um das es offenbar hier geht.
        Christian

        Comment


        • #5
          So jetzt wirds schwierig deine Fragen zu beantworten, ich habe mit Java vor 3 Wochen angefangen, und habe diesen Taschenrechner vorgesetzt bekommen, und soll ihn erweitern.
          Das heisst der gepostet Code ist mehr oder weniger schon vorhanden gewesen.

          Der ganze Code hat ca. 500 Zeilen, deswegen wollte ich nicht den ganzen Posten, und habe nur das gepostet wo ich dachte das erheblich ist.

          Mir ist nur aufgefallen, das der erste Wert wie hier * nicht benutzt wird und die anderen schon.

          Code:
          erzeugeJButton("*", "mult", command, buttonsComponent);

          Danke

          Comment


          • #6
            ???

            Klar wird er nicht benutzt -> sage ich ja andauernd

            Setze diesen Wert im Konstruktor des Buttons!
            Christian

            Comment


            • #7
              Ja, aber wo ist der Konstruktor?
              Wie gesagt ich bin neue in Java und habe so gut wie keine Ahnung.

              Comment


              • #8
                final JButton oButtonNeu = new JButton(buttonText.toLowerCase());
                Christian

                Comment


                • #9
                  Es funktioniert!!!!

                  Es war zwar ne schwere Geburt.

                  Aber vielen vielen Dank

                  Comment

                  Working...
                  X