To tylko kawałek programu, ma on za zadanie klawiszem enter pobrać liczbę z JTextFielda i wydrukowac ją. Jednak program działa tylko wtedy, gdy odgórnie, w kodzie programu, zdefiniuję jakąś liczbę. Gdy chcę wprowadzić ją do TextFielda ręcznie, to gdy zakliknę pole, keylistener przestaje wykonywać swoje zadanie, przy naciśnięciu entera nic się nie dzieje. Chciałbym wiedzieć jaka jest tego przyczyna...
public class Main {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run(){
createAndShowGUI();
}
});
}
public static void createAndShowGUI(){
JFrame f = new JFrame("funkcja liniowa");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(1890,1050);
f.setLocationRelativeTo(null);
f.setVisible(true);
f.setResizable(true);
f.add(new MyPanel2());
}
}
class MyPanel2 extends JPanel{
JPanel panel2;
JTextField jtf1, jtf2;
JLabel jlb1, jlb2;
int b;
public MyPanel2(){
panel2= new JPanel();
jtf1 = new JTextField();
panel2.setBounds(1194, 50, 250, 500);
panel2.setBorder(BorderFactory.createLineBorder(Color.BLACK));
this.setLayout(null);
panel2.setLayout(null);
jtf1.setBounds(60,50, 130, 21);
this.add(panel2);
panel2.add(jtf1);
addKeyListener(new KeyAdapter(){
@Override
public void keyPressed(KeyEvent e){
int KeyCode = e.getKeyCode();
if(KeyCode == KeyEvent.VK_ENTER){
b = Integer.parseInt(jtf2.getText());
System.out.println(b);
}
}
});
}
}