Saban Geschrieben 17. Dezember 2008 Geschrieben 17. Dezember 2008 Hallo Zusammen! ich hätte da mal ne Frage und zwar möchte ich wenn ich die Taste "8" drücke das dann in meinem TextFeld die acht eingefügt wird. Nun habe ich auch einige Buttons mit ActionListenern wenn ich den KeyListener einem von Ihnen dran hänge dann klappts wunderbar, doch wenn ich sage panel.addKeylistener() dann klappts nicht mehr. (Buttons auf denen es funktioniert liegen auf dem Panel!) Gibts bestimmte vorraussetzungen für Keylistener? Kann man den nur auf angezeigte Buttons setzen? Danke im voraus! MfG Saban Zitieren
Kaeyu Geschrieben 17. Dezember 2008 Geschrieben 17. Dezember 2008 Das liegt daran, dass dann der Fokus nicht mehr auf dem Panel sondern z.B. auf dem Button liegt. Wenn du ein leeres Fenster hättest, würde es funktionieren, da der Fokus nur auf dem Panel liegen kann - ist ja sonst kein anderes interaktives Objekt vorhanden. Zitieren
Ulfmann Geschrieben 18. Dezember 2008 Geschrieben 18. Dezember 2008 Ich würd gern den Quellcode sehen. Poste mal. Wieso setzt du überhaupt den KeyListerner an das Panel und nicht ans Textfeld? Wenn du ne 8 tippst, soll doch das Textfeld checken "aah yo, 8 getippt" und nich dein Label. Zitieren
Saban Geschrieben 20. Dezember 2008 Autor Geschrieben 20. Dezember 2008 Hey! Sorry das es erst so spät kommt... Hier der Code package Calculator_Alt; public class Taschenrechner{ static JTextField tf_eing = new JTextField(); static InfixPostfixWandler wandler = new InfixPostfixWandler(); public static void main(String [] args){ /* Die einzelnen GUI-Elemente */ JFrame frame = new JFrame("Taschenrechner"); JPanel panel = new JPanel(); JButton bt_null = new JButton("0"); JButton bt_eins = new JButton("1"); JButton bt_zwei = new JButton("2"); JButton bt_drei = new JButton("3"); JButton bt_vier = new JButton("4"); JButton bt_fünf = new JButton("5"); JButton bt_sechs = new JButton("6"); JButton bt_sieben = new JButton("7"); JButton bt_acht = new JButton("8"); JButton bt_neun = new JButton("9"); JButton bt_div = new JButton("/"); JButton bt_mul = new JButton("*"); JButton bt_add = new JButton("+"); JButton bt_sub = new JButton("-"); JButton bt_gleich = new JButton("="); JButton bt_komma = new JButton(","); JButton bt_clear = new JButton("CE"); JButton bt_klammerL = new JButton("("); JButton bt_klammerR = new JButton(")"); JButton bt_pluMin = new JButton("-+"); /* Setzen des Layout-Managers */ panel.setLayout(null); /* Positionieren der Komponenten */ tf_eing.setBounds ( 10, 10, 225, 35); bt_sieben.setBounds ( 10, 55, 35, 35); bt_acht.setBounds ( 55, 55, 35, 35); bt_neun.setBounds (100, 55, 35, 35); bt_div.setBounds (155, 55, 35, 35); bt_clear.setBounds (200, 55, 35, 35); bt_vier.setBounds ( 10,100, 35, 35); bt_fünf.setBounds ( 55,100, 35, 35); bt_sechs.setBounds (100,100, 35, 35); bt_mul.setBounds (155,100, 35, 35); bt_klammerL.setBounds (200,100, 35, 35); bt_eins.setBounds ( 10,145, 35, 35); bt_zwei.setBounds ( 55,145, 35, 35); bt_drei.setBounds (100,145, 35, 35); bt_sub.setBounds (155,145, 35, 35); bt_klammerR.setBounds (200,145, 35, 35); bt_null.setBounds ( 10,190, 35, 35); bt_pluMin.setBounds ( 55,190, 35, 35); bt_komma.setBounds (100,190, 35, 35); bt_add.setBounds (155,190, 35, 35); bt_gleich.setBounds (200,190, 35, 35); /* Eigenschaften der Komponenten */ Font font = new Font("Arial", Font.BOLD, 12); Color col_red = new Color(210, 0 ,0); // JTextField tf_eing.setEditable(false); tf_eing.setHorizontalAlignment(JTextField.RIGHT); tf_eing.setFont(font); // 3D Anzeige der Buttons bt_eins.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_zwei.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_drei.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_vier.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_fünf.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_sechs.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_sieben.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_acht.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_neun.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_null.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_komma.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_div.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_mul.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_add.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_sub.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_gleich.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_clear.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_klammerL.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_klammerR.setBorder(new BevelBorder(BevelBorder.RAISED)); bt_pluMin.setBorder(new BevelBorder(BevelBorder.RAISED)); /* Die Komponenten dem Container hinzufügen */ panel.add(tf_eing); panel.add(bt_sieben); panel.add(bt_acht); panel.add(bt_neun); panel.add(bt_div); panel.add(bt_clear); panel.add(bt_vier); panel.add(bt_fünf); panel.add(bt_sechs); panel.add(bt_mul); panel.add(bt_klammerL); panel.add(bt_eins); panel.add(bt_zwei); panel.add(bt_drei); panel.add(bt_sub); panel.add(bt_klammerR); panel.add(bt_null); panel.add(bt_pluMin); panel.add(bt_komma); panel.add(bt_add); panel.add(bt_gleich); /* ActionListener */ ActionListener al_buttonEins = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "1"); } }; ActionListener al_buttonZwei = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "2"); } }; ActionListener al_buttonDrei = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "3"); } }; ActionListener al_buttonVier = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "4"); } }; ActionListener al_buttonFunf = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "5"); } }; ActionListener al_buttonSechs = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "6"); } }; ActionListener al_buttonSieben = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "7"); } }; ActionListener al_buttonAcht = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "8"); } }; ActionListener al_buttonNeun = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "9"); } }; ActionListener al_buttonNull = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "0"); } }; ActionListener al_buttonMul = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "*"); } }; ActionListener al_buttonDiv = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "/"); } }; ActionListener al_buttonAdd = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "+"); } }; ActionListener al_buttonSub = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "-"); } }; ActionListener al_buttonKom = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "."); } }; ActionListener al_buttonClear = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(""); wandler.clearPostfix(); } }; ActionListener al_buttonPluMin = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { } }; ActionListener al_buttonKlammerR = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + ")"); } }; ActionListener al_buttonKlammerL = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { tf_eing.setText(tf_eing.getText() + "("); } }; ActionListener al_buttonGleich = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { if(tf_eing.getText().length() > 2){ System.out.println(wandler.infixInPostfix(tf_eing.getText())); wandler.clearPostfix(); } } }; bt_null.addActionListener(al_buttonNull); bt_eins.addActionListener(al_buttonEins); bt_zwei.addActionListener(al_buttonZwei); bt_drei.addActionListener(al_buttonDrei); bt_vier.addActionListener(al_buttonVier); bt_fünf.addActionListener(al_buttonFunf); bt_sechs.addActionListener(al_buttonSechs); bt_sieben.addActionListener(al_buttonSieben); bt_acht.addActionListener(al_buttonAcht); bt_neun.addActionListener(al_buttonNeun); bt_div.addActionListener(al_buttonDiv); bt_mul.addActionListener(al_buttonMul); bt_add.addActionListener(al_buttonAdd); bt_sub.addActionListener(al_buttonSub); bt_gleich.addActionListener(al_buttonGleich); bt_komma.addActionListener(al_buttonKom); bt_clear.addActionListener(al_buttonClear); bt_klammerL.addActionListener(al_buttonKlammerL); bt_klammerR.addActionListener(al_buttonKlammerR); bt_pluMin.addActionListener(al_buttonPluMin); /* Das Frame mit seinen Eigenschaften */ frame.setSize(250, 260); frame.setResizable(false); Container aktuelleGUI = frame.getContentPane(); aktuelleGUI.add(panel); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } MfG Saban Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.