tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
167
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jannik Tutorials.de Gastzugang
    Hallo,

    schreibe grade an einem Taschenrechner für die Schule und bekomme es einfach nicht hin oberhalb des Tastenfeldes ein mehrzeiliges Textfield bzw. mehrere Textfields unterneinander zu platzieren. Hier mal der Anfang des Programmcodes: (könnte sein das da schon alles verwurschtelt ist, da ich viele Sachen ausprobiert habe)

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    
    public Grafikausgabe () 
      {
        
        TestActionListener actionListener = new TestActionListener();
        setLayout(new BorderLayout());
        setTitle("Taschenrechner");
        setSize(210,300);
        addWindowListener(new TestWindowListener());
        TextField textfield = new TextField( "", 30 );
        textfield.setEditable(false);
        add( textfield, BorderLayout.NORTH );
        actionListener.setTextField(textfield);
        Panel eingabefeld = new Panel();
        
        eingabefeld.setLayout(new GridLayout(6, 4));
          Button klammerauf = new Button("(");
          eingabefeld.add(klammerauf);
          klammerauf.addActionListener(actionListener);
          Button klammerzu = new Button(")");
          eingabefeld.add(klammerzu);
          klammerzu.addActionListener(actionListener);
          Button C = new Button("C");
          eingabefeld.add(C); 
          C.addActionListener(actionListener);
          Button AC = new Button("AC");
          eingabefeld.add(AC);
          AC.addActionListener(actionListener);
          Button hoch = new Button("^");
          eingabefeld.add(hoch);
          hoch.addActionListener(actionListener);
          Button wurzel = new Button("Wurzel");
          eingabefeld.add(wurzel);
          wurzel.addActionListener(actionListener);
          Button bruch = new Button("Bruch");
          eingabefeld.add(bruch);
          bruch.addActionListener(actionListener);
          Button frei = new Button(" ");
          eingabefeld.add(frei);
          frei.addActionListener(actionListener);
          Button sieben = new Button("7");
          eingabefeld.add(sieben);
          sieben.addActionListener(actionListener);
          Button acht = new Button("8");
          eingabefeld.add(acht);
          acht.addActionListener(actionListener);
          Button neun = new Button("9");
          eingabefeld.add(neun);
          neun.addActionListener(actionListener);
          Button plus = new Button("+");
          eingabefeld.add(plus);
          plus.addActionListener(actionListener);
          Button vier = new Button("4");
          eingabefeld.add(vier);
          vier.addActionListener(actionListener);
          Button fünf = new Button("5");
          eingabefeld.add(fünf);
          fünf.addActionListener(actionListener);
          Button sechs = new Button("6");
          eingabefeld.add(sechs);
          sechs.addActionListener(actionListener);
          Button minus = new Button("-");
          eingabefeld.add(minus);
          minus.addActionListener(actionListener);
          Button eins = new Button("1");
          eingabefeld.add(eins);
          eins.addActionListener(actionListener);
          Button zwei = new Button("2");
          eingabefeld.add(zwei);
          zwei.addActionListener(actionListener);
          Button drei = new Button("3");
          eingabefeld.add(drei);
          drei.addActionListener(actionListener);
          Button mal = new Button("*");
          eingabefeld.add(mal);
          mal.addActionListener(actionListener);
          Button komma = new Button(",");
          eingabefeld.add(komma);
          komma.addActionListener(actionListener);
          Button nuul = new Button("0");
          eingabefeld.add(nuul);
          nuul.addActionListener(actionListener);
          Button gleich = new Button("=");
          eingabefeld.add(gleich);
          gleich.addActionListener(actionListener);
          Button geteilt = new Button("/");
          eingabefeld.add(geteilt);
          geteilt.addActionListener(actionListener);
          add( eingabefeld, BorderLayout.CENTER );
    Geändert von Maik (09.06.10 um 14:15 Uhr) Grund: Code in [java][/java]-Tag gesetzt
     

  2. #2
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    hier mal schnelle ein paar nette Links zum Thema "Layoutmanager", die Dir vlt. weiterhelfen:
    http://de.wikibooks.org/wiki/Java_St...t_BorderLayout
    http://dpunkt.de/java/Programmieren_...ierung/71.html
    http://www.addison-wesley.de/Service...r/kap21002.htm
    http://www.sws.bfh.ch/~amrhein/Swing...sel_15_010.htm

    Bitte die Manager nicht so wild mischen, wie Du es versuchst, das schaffst meist nur bitter Probleme!

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  3. #3
    Avatar von Carron
    Carron Carron ist offline Mitglied Silber
    Registriert seit
    May 2010
    Ort
    Berlin
    Beiträge
    61
    Richtig. Für einen LayoutManager entscheiden und den durchziehen, BorderLayout-Informationen helfen in einem GridLayout nur wenig.

    Ich habe mit Hilfe von GridBagLayout und GridLayout folgendes geschrieben:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.GridLayout;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    public class Calculator extends JFrame {
        
        public static void main(String[] args) {
            new Calculator().setVisible(true);
        }
     
        public Calculator() {
            super("Taschenrechner");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setSize(210, 300);
            final JPanel contentPane = new JPanel(new GridBagLayout());
            setContentPane(contentPane);
     
            final TextField textfield = new TextField("");
            textfield.setEditable(false);
            final GridBagConstraints textFieldConstraints = new GridBagConstraints();
            textFieldConstraints.fill = GridBagConstraints.HORIZONTAL;
            textFieldConstraints.weightx = 1;
            contentPane.add(textfield, textFieldConstraints);
     
            final ActionListener testListener = new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    if (e.getSource() instanceof JButton) {
                        textfield.setText(textfield.getText()
                                + ((JButton) e.getSource()).getText());
                    }
                }
            };
     
            final JPanel inputArea = new JPanel(new GridLayout(6, 4));
            final GridBagConstraints inputConstraints = new GridBagConstraints();
            inputConstraints.gridy = 1;
            inputConstraints.fill = GridBagConstraints.BOTH;
            inputConstraints.weightx = 1;
            inputConstraints.weighty = 1;
            contentPane.add(inputArea, inputConstraints);
     
            final JButton paranthesisOpenButton = new JButton("(");
            paranthesisOpenButton.addActionListener(testListener);
            inputArea.add(paranthesisOpenButton);
     
            final JButton paranthesisCloseButton = new JButton(")");
            paranthesisCloseButton.addActionListener(testListener);
            inputArea.add(paranthesisCloseButton);
     
            final JButton stepBackButton = new JButton("C");
            stepBackButton.addActionListener(testListener);
            inputArea.add(stepBackButton);
     
            final JButton clearButton = new JButton("AC");
            clearButton.addActionListener(testListener);
            inputArea.add(clearButton);
     
            final JButton powerButton = new JButton("^");
            powerButton.addActionListener(testListener);
            inputArea.add(powerButton);
     
            final JButton rootButton = new JButton("Wurzel");
            rootButton.addActionListener(testListener);
            inputArea.add(rootButton);
     
            final JButton fractionButton = new JButton("Bruch");
            fractionButton.addActionListener(testListener);
            inputArea.add(fractionButton);
     
            final JButton spaceButton = new JButton(" ");
            spaceButton.addActionListener(testListener);
            inputArea.add(spaceButton);
     
            final JButton sevenButton = new JButton("7");
            sevenButton.addActionListener(testListener);
            inputArea.add(sevenButton);
     
            final JButton eightButton = new JButton("8");
            eightButton.addActionListener(testListener);
            inputArea.add(eightButton);
     
            final JButton nineButton = new JButton("9");
            nineButton.addActionListener(testListener);
            inputArea.add(nineButton);
     
            final JButton additionButton = new JButton("+");
            additionButton.addActionListener(testListener);
            inputArea.add(additionButton);
     
            final JButton fourButton = new JButton("4");
            fourButton.addActionListener(testListener);
            inputArea.add(fourButton);
     
            final JButton fiveButton = new JButton("5");
            fiveButton.addActionListener(testListener);
            inputArea.add(fiveButton);
     
            final JButton sixButton = new JButton("6");
            sixButton.addActionListener(testListener);
            inputArea.add(sixButton);
     
            final JButton subtractButton = new JButton("-");
            subtractButton.addActionListener(testListener);
            inputArea.add(subtractButton);
     
            final JButton oneButton = new JButton("1");
            oneButton.addActionListener(testListener);
            inputArea.add(oneButton);
     
            final JButton twoButton = new JButton("2");
            twoButton.addActionListener(testListener);
            inputArea.add(twoButton);
     
            final JButton threeButton = new JButton("3");
            threeButton.addActionListener(testListener);
            inputArea.add(threeButton);
     
            final JButton multiplyButton = new JButton("*");
            multiplyButton.addActionListener(testListener);
            inputArea.add(multiplyButton);
     
            final JButton commaButton = new JButton(",");
            commaButton.addActionListener(testListener);
            inputArea.add(commaButton);
     
            final JButton zeroButton = new JButton("0");
            zeroButton.addActionListener(testListener);
            inputArea.add(zeroButton);
     
            final JButton resultButton = new JButton("=");
            resultButton.addActionListener(testListener);
            inputArea.add(resultButton);
     
            final JButton divideButton = new JButton("/");
            divideButton.addActionListener(testListener);
            inputArea.add(divideButton);
        }
    }

    zwar kein schöner Code, aber es entspricht dem von dir geposteten und erzeugt das angehängte Fenster.


    Gute Nacht & Grüße
    Carron

    PS: das nächste Mal bitte ins richtige Unterforum
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Brauche Hilfe! Layout-taschenrechner.jpg  
     

Ähnliche Themen

  1. CSS-Layout schematisch. Brauche Hilfe
    Von Eagle-PsyX- im Forum CSS
    Antworten: 9
    Letzter Beitrag: 27.11.08, 17:26
  2. Ich brauche Hilfe bei einem Layout
    Von Ivan Suta im Forum Creative Lounge
    Antworten: 8
    Letzter Beitrag: 20.01.06, 10:30
  3. Brauche Hilfe für Layout
    Von VLKN im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 19.05.05, 10:45
  4. Brauche Hilfe bei Layout
    Von Systemofadown im Forum Creative Lounge
    Antworten: 9
    Letzter Beitrag: 07.10.04, 09:37
  5. Brauche Hilfe beim Layout
    Von LordXtra im Forum Desktop Publishing (DTP)
    Antworten: 2
    Letzter Beitrag: 29.01.04, 19:05