'How do I make a JButton hit the enter key when pressed?
So in my code, I have 2 JTextField inputs that need input for the rest of the program to work. Both of them contain variables that cannot be left empty for the rest of the program to work. The problem is that whenever you enter something into the text field, you have to press enter in the end and that process is not that straightforward in the program as you are not able to see whether or not you have already pressed enter without looking into the console.
ActionListener buttonlistener2 = new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
frame2.setTitle("Multiplayer");
frame2.setVisible(true);
JLabel labelM = new JLabel("Geben sie eine Höhstzahl ein:");
JTextField hZahl = new JTextField();
JLabel labelN= new JLabel("Mit wie vielen Rateversuchen wollen sie spielen?");
JTextField rVers = new JTextField();
JButton b = new JButton("Submit");
Now I want the JButton b to press enter for both text field hZahl and rVers when pushed. How do I achieve that?
This is what button bdoes so far:
ActionListener buttonlistener3 = new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
if((arr[0] > 0) && (arr[1] > 0)){
frame3.setTitle("1 Player Game");
frame3.setVisible(true);
JLabel labelB = new JLabel("Erraten sie die Zahl:");
JTextField rVers1 = new JTextField();
labelB.setBounds(50, 105, 400, 70);
rVers1.setBounds(45, 150, 100, 30);
frame3.add(labelB);
frame3.add(rVers1);
rVers1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
System.out.println("Rateversuch: " + rVers1.getText());
int r = Integer.parseInt(rVers1.getText());
arr[2] = r;
System.out.println("werte " + arr[1] +" " + arr[3] +" " + r);
if(arr[1] == 1){
JLabel lv = new JLabel("Letzer Versuch!");
lv.setBounds(50, 50, 400, 70);
lv.setForeground(Color.red);
frame4.add(lv);
}
tru = arr[3] == arr[2];
if(r < arr[3]){
labelB.setText("Die Gesuchte Zahl ist größer.");
rVers1.setText("");
arr[1] = arr[1] -1;
}
if(r > arr[3]){
labelB.setText("Die Gesuchte Zahl ist kleiner.");
rVers1.setText("");
arr[1] = arr[1] -1;
}
if(tru){
frame4.setVisible(true);
JLabel cor = new JLabel("Richtig!");
JLabel win = new JLabel("Sie haben Gewonnen");
cor.setBounds(50, 50, 300, 100);
win.setBounds(50, 150, 300, 70);
Font labelFont = cor.getFont();
String labelText = cor.getText();
cor.setForeground(Color.red);
win.setForeground(Color.green);
frame4.add(cor);
frame4.add(win);
}
if(arr[1] == 0){
frame4.setVisible(true);
JLabel cor = new JLabel("Falsch!");
JLabel win = new JLabel("Die Zahl war: " + arr[3]);
cor.setBounds(50, 50, 300, 100);
win.setBounds(50, 150, 300, 70);
Font labelFont = cor.getFont();
String labelText = cor.getText();
cor.setForeground(Color.red);
win.setForeground(Color.green);
frame4.add(cor);
frame4.add(win);
}
if(arr[1] == 0){
frame4.setVisible(true);
JLabel cor = new JLabel("Falsch!");
JLabel win = new JLabel("Die Zahl war: " + arr[3]);
cor.setBounds(50, 50, 300, 100);
win.setBounds(50, 150, 300, 70);
Font labelFont = cor.getFont();
String labelText = cor.getText();
cor.setForeground(Color.red);
win.setForeground(Color.red);
frame4.add(cor);
frame4.add(win);
}
System.out.println("werte neu " + arr[1] +" " + arr[3] +" " + r);
}
});
}
}
};
b.addActionListener(buttonlistener3);
}
};
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
