2016-03-30 4 views
0

Итак, я занимаюсь немного java в колледже и смотрю в будущее, поскольку мы еще не участвуем в этом, но я пытался научить себя обработке событий и gui's, рассматривая будущие вопросы экзамена и т. Д., И до сих пор я у меня довольно удобная гия, но обработка событий не так много ... Я собираюсь на это какое-то время, и я просто наклоняю, кажется, вообще обнимаю их, я пытаюсь получить это, когда нажимают кнопку возвращает length() JTextField в JLabel, любая помощь вообще будет принята с благодарностью. БлагодаряОбработка обучающего события

import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    import javax.swing.event.*; 

public class guiWithCatchBlock extends JFrame implements ActionListener, MouseListener { 


guiWithCatchBlock() { 

    super("Attempting Event Handling"); 

    Container c = getContentPane(); 
    JButton stringLengthButton = new JButton("Get String Length"); 
    JTextField inputField = new JTextField(); 
    JLabel outputLabel = new JLabel("String Length = "); 
    stringLengthButton.addActionListener(this); 
    inputField.addActionListener(this); 
    outputLabel.addMouseListener(this); 
    c.add(stringLengthButton,BorderLayout.NORTH); 
    c.add(inputField,BorderLayout.CENTER); 
    c.add(outputLabel,BorderLayout.SOUTH); 
    setSize(400, 300); 
    show(); 

} 

public static void main(String args[]) { 

    guiWithCatchBlock testAction = new guiWithCatchBlock(); 

} 

public void actionPerformed(ActionEvent e) { 

    System.out.print(paramString()); 

} 

@Override 
public void mouseClicked(MouseEvent arg0) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void mouseEntered(MouseEvent arg0) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void mouseExited(MouseEvent arg0) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void mousePressed(MouseEvent arg0) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void mouseReleased(MouseEvent arg0) { 
    // TODO Auto-generated method stub 

} 

}

ответ

0

Вам нужно пройти ActionListener к кнопке

stringLengthButton.addActionListener(this); 

Вы можете использовать это, как вы реализуете ActionListener класса. Теперь события, которое будет срабатывать является:

public void actionPerformed(ActionEvent e) { 
    // Do GUI manipulations 
    System.out.print(paramString()); 
} 
0

Если вы пытались объявить InputField и outputLabel внутри конструктора, это будет трудно передать позже, лучше объявить его как член класса.
В вашем actionPerform, пытался получить длину текста и переквалифицировать как этот

@Override 
public void actionPerformed(ActionEvent e) { 
    outputLabel.setText("String Length = " + inputField.getText().length()); 
} 

завершенного код в

public class guiWithCatchBlock extends JFrame implements ActionListener, MouseListener { 
    JTextField inputField; 
    JLabel outputLabel; 
    guiWithCatchBlock() { 
     super("Attempting Event Handling"); 
     Container c = getContentPane(); 
     JButton stringLengthButton = new JButton("Get String Length"); 
     inputField = new JTextField(); 
     outputLabel = new JLabel("String Length = "); 
     stringLengthButton.addActionListener(this); 
     inputField.addActionListener(this); 
     outputLabel.addMouseListener(this); 
     c.add(stringLengthButton, BorderLayout.NORTH); 
     c.add(inputField, BorderLayout.CENTER); 
     c.add(outputLabel, BorderLayout.SOUTH); 
     setSize(400, 300); 
     show(); 

    } 

    public static void main(String args[]) { 
     guiWithCatchBlock testAction = new guiWithCatchBlock(); 
    } 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     outputLabel.setText("String Length = " + inputField.getText().length()); 
    } 

    @Override 
    public void mouseClicked(MouseEvent arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void mouseEntered(MouseEvent arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void mouseExited(MouseEvent arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void mousePressed(MouseEvent arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void mouseReleased(MouseEvent arg0) { 
     // TODO Auto-generated method stub 

    } 
} 
Смежные вопросы