Je rencontre des problèmes lors du stockage d'une valeur en utilisant un ActionListener
avec un JButton
. Je suis assez nouveau à Java et pas 100% confiant dans la classe et la manière de sous-classe de programmation.Impossible de résoudre le champ en Java lors du stockage des valeurs à partir de JTextField
import java.ActionEvent;
import javaActionListener;
import javax.swing JButton;
import javax.swing JPanel;
import javax.swing.JTextField;
public class Trial extends JPanel implements Action Listener {
private static final long serialVersionUID = 1L;
public Trial() {
setFrame();
}
public void setFrame(){
JFrame frame = new JFrame("Trial");
JPanel panel = new JPanel();
JTextField field = new JTextField(10);
JButton button = new JButton("Enter");
button.addActionListener(this);
panel.add(field);
panel.add(button);
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void main(String[] args) {
new Trial();
}
@Override
public void actionPerformed(ActionEvent e) {
String s = field.getText();
System.out.prinln("Button is pressed");
}
}
champ
est pas défini à l'intérieur actionPerformed
, pourquoi il en est ainsi? J'ai joué avec l'ActionEvent, et il semble que je ne puisse pas passer de variable en dehors de la fonction actionPerformed
. Alors, comment vais-je faire cela? Dois-je déplacer setFrame()
vers sa propre classe?
Pourquoi 'Trial' étend-il' JPanel'? Cela semble complètement inutile pour cela. –
le code est juste un extrait du code original. Je viens de prendre les lignes de code nécessaires pour la question. –