ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
167
167
EMPFEHLEN
-
09.06.10 13:39 #1Jannik 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
-
09.06.10 14:21 #2
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ß
KlausEs 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 !!
-
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
Ähnliche Themen
-
CSS-Layout schematisch. Brauche Hilfe
Von Eagle-PsyX- im Forum CSSAntworten: 9Letzter Beitrag: 27.11.08, 17:26 -
Ich brauche Hilfe bei einem Layout
Von Ivan Suta im Forum Creative LoungeAntworten: 8Letzter Beitrag: 20.01.06, 10:30 -
Brauche Hilfe für Layout
Von VLKN im Forum Flash PlattformAntworten: 1Letzter Beitrag: 19.05.05, 10:45 -
Brauche Hilfe bei Layout
Von Systemofadown im Forum Creative LoungeAntworten: 9Letzter Beitrag: 07.10.04, 09:37 -
Brauche Hilfe beim Layout
Von LordXtra im Forum Desktop Publishing (DTP)Antworten: 2Letzter Beitrag: 29.01.04, 19:05





Zitieren
Login





