tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
458
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Pichel Pichel ist offline Mitglied Bronze
    Registriert seit
    Jul 2008
    Beiträge
    36
    Hallo,

    ich habe in einer Klasse eine KeyListener eingebaut, leider funktioniert diese nicht und ich finde nciht den Fehler.

    Ich hoffe, es kann mir jemand helfen.
    Vielen Dank

    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
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    
    package view;
     
     
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
     
    import javax.swing.*;
     
    import model.BerechneDaten;
    import view.Statusbar;
     
     
     
    public class BerechnungView extends JPanel implements KeyListener{
        
        static final String NEWLINE = "\n";
     
        public BerechnungView(){
            super();
            init();
            addKeyListener(this);
        }
        
        JTextField tf = new JTextField("5");
        JTextField tf1 = new JTextField("10");
        JTextField tf2 = new JTextField("100");
        JTextField tf3 = new JTextField("55");
        JTextField tf4 = new JTextField("30");
        JTextField tf5= new JTextField("100");
        BerechneDaten gBD = new BerechneDaten();
        
        private void init(){
            
            setLayout(null);
            JLabel jl = new JLabel("Variable Daten zur Berechnung");
            jl.setBounds(10, 215, 250, 30);
            jl.setFont(new Font("SansSerif",Font.BOLD,17));
            add(jl);
        
            /*------------ Ende Überschrift -----------------*/ 
            
            JLabel jl1 = new JLabel("Anzahl Beteiligter");
            jl1.setBounds(40,250, 150, 30);
            add(jl1);
            
            
            //String daten = "";
            //gBD.getDaten(daten);
            tf.setBounds(160, 255, 120, 20);
            add(tf);
        
            /*------------ Ende 1. Datenreihe Links -----------------*/     
        
            JLabel jl2 = new JLabel("Anzahl Touren");
            jl2.setBounds(40, 272, 150, 30);
            add(jl2);
            tf1.setBounds(160, 277, 120, 20);
            add(tf1);
            
            /*------------ Ende 2.Datenreihe Links-----------------*/   
            
            JLabel jl3 = new JLabel("Anzahl Objekte");
            jl3.setBounds(40, 294, 150, 30);
            add(jl3);
            tf2.setBounds(160, 299, 120, 20);
            add(tf2);
            
            /*------------ Ende 2.Datenreihe Links-----------------*/
            
        
            JLabel jl4 = new JLabel("Gutachter");
            jl4.setBounds(330, 250, 100, 30);
            add(jl4);
            tf3.setBounds(400, 255, 50, 20);
            add(tf3);
            
            /*------------------ Ende 1. Datenreihe Rechts -------------------*/
            
            JLabel jl5 = new JLabel("Assistenz");
            jl5.setBounds(330, 272, 100, 30);
            add(jl5);
            tf4.setBounds(400, 277, 50, 20);
            add(tf4);
            
            /*------------------ Ende 2. Datenreihe Rechts -------------------*/
            
            JLabel jl6 = new JLabel("Beteiligter");
            jl6.setBounds(330, 294, 100, 30);
            add(jl6);
            tf5.setBounds(400, 299, 50, 20);
            add(tf5);
            
            /*------------------ Ende 3. Datenreihe Rechts -------------------*/
            
            JButton jb = new JButton("Berechnen");
            jb.setMargin(new Insets(2,2,2,2));
            jb.setFont(new Font("Arial",Font.BOLD,12));
            jb.setBounds(490, 339, 80, 30);
            
             jb.addActionListener(new ActionListener(){
                    public void actionPerformed(ActionEvent e) {
                        // TODO Auto-generated method stub
                        buttonKlick();
                        getBerechnung();
                    }
             });
              
            jb.addKeyListener(this);
            add(jb);
            
            JSeparator js = new JSeparator();
            js.setBounds(10,195,610,1);
            add(js);
            
            JSeparator jsv = new JSeparator(SwingConstants.VERTICAL);
            jsv.setBounds(300, 10, 1, 180);
            add(jsv);
            
            JLabel jl7 = new JLabel("Ergebnisse der Berechnung");
            jl7.setBounds(320, 5, 250, 30);
            jl7.setFont(new Font("SansSerif",Font.BOLD,14));
            add(jl7);
            
            Statusbar st = new Statusbar();
            setBounds(0, 400, 630, 21);
            add(st);
            
            JLabel bild = new JLabel();
            bild.setIcon(new ImageIcon(getClass().getResource("../image/logo-pkr.jpg")));
            bild.setBounds(10, 10, 300,180);
            add(bild);
            
            
            int y = 255;
            for(int i = 0; i< 2; i++){
                JLabel preis = new JLabel(" € pro Stunde");
                preis.setBounds(455, y, 100, 20); 
                add(preis);
                y = y +22;
            }
            
            JLabel preis3 = new JLabel(" € pro Objekt");
            preis3.setBounds(455, 299, 100, 20);
            add(preis3);
            
            
        
        }   
        
        public void getBerechnung(){
            JLabel label = new JLabel("Kosten ohne DEL: ");
            label.setBounds(320, 40, 150, 20);
            add(label);
            
            JLabel label2 = new JLabel(gBD.rechneGesamtOhneDEL() + " €");
            label2.setBounds(470,40,150,20);
            add(label2);
            
            JLabel label1 = new JLabel("Kosten mit DEL: ");
            label1.setBounds(320,60, 150, 20);
            add(label1);
            
            JLabel label3 = new JLabel(gBD.rechneGesamtMitDEL() + " €");
            label3.setBounds(470,60,150,20);
            add(label3);
            
            repaint();
        }
        
        public void buttonKlick(){
            //Hole Zahlen aus Textfeldern
            // Daten des Beteiligten
            double aBTf = 0;
            // Daten der Touren
            double aTTf = 0;
            // Daten der Objekte
            double aOTf = 0;
            // Preis des Gutachters
            double pGTf = 0;
            // Preis des Assitenten
            double pATf = 0;
            // Preis des Beteiligten
            double pBTf = 0;
            
            aBTf = Double.parseDouble(tf.getText());
            aTTf = Double.parseDouble(tf1.getText());
            aOTf = Double.parseDouble(tf2.getText());
            pGTf = Double.parseDouble(tf3.getText());
            pATf = Double.parseDouble(tf4.getText());
            pBTf = Double.parseDouble(tf5.getText());
            
            gBD.setDaten(aBTf);
            gBD.setDaten(aTTf);
            gBD.setDaten(aOTf);
            gBD.setDaten(pGTf);
            gBD.setDaten(pATf);
            gBD.setDaten(pBTf);
        }
        @Override
        public void keyPressed(KeyEvent e) {
            // TODO Auto-generated method stub
        }
     
        @Override
        public void keyReleased(KeyEvent e) {
            // TODO Auto-generated method stub
        }
        @Override
        public void keyTyped(KeyEvent e) {
            // TODO Auto-generated method stub
            if(e.getKeyCode() == KeyEvent.VK_ENTER){
                buttonKlick();
            }
        }
    }
     

  2. #2
    Registriert seit
    Aug 2008
    Beiträge
    157
    Code java:
    1
    2
    
    jb.addKeyListener(this);        
    add(jb);

    Du addest den KeyListener einem Button zu ?!


    //EDIT Ah ne tut mir leid hab nicht genau geschaut entschuldigung

    Würd ich nicht machen aber ich test es mal


    Versuch mal den KeyListener der Frame zuzuordnen in der du das Panel einbindest
    Geändert von Leroux (03.09.08 um 13:56 Uhr)
     

  3. #3
    Andibert Andibert ist offline Mitglied Silber
    Registriert seit
    Sep 2006
    Ort
    Hildesheim
    Beiträge
    90
    Da du ein Enter abfragen willst, kannst du auch einfach einen Actionlistener verwenden und an den Textfeldern registirieren. (praktischerweise der gleiche wie der vom Button).
     
    There are 10 kind of people, those who understand binary and those who don't.

Ähnliche Themen

  1. KeyListener reagiert teils nicht auf die Leertaste
    Von mr12345 im Forum Java Grundlagen
    Antworten: 6
    Letzter Beitrag: 20.07.10, 09:42
  2. Mein Keylistener funktioniert nicht
    Von DarkBioHazard im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 8
    Letzter Beitrag: 11.05.10, 23:34
  3. Antworten: 8
    Letzter Beitrag: 16.09.08, 12:50
  4. KeyListener reagiert nicht
    Von Isolated im Forum Java
    Antworten: 9
    Letzter Beitrag: 08.03.07, 21:24
  5. KeyListener funktioniert auf Os X nicht
    Von vaporizer im Forum Java
    Antworten: 2
    Letzter Beitrag: 16.06.04, 01:24