Я изучаю Java в курсе YouTube, и я обнаружил эту проблему, очевидно. Я пытался создать al oop внутри события focusLost
. Тем не менее, он не работает должным образом (программа игнорирует его). Если у кого-то есть решение, я буду рад его услышать.
package Ventanas;
import java.awt.Graphics;
import java.awt.event.FocusListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.event.*;
@SuppressWarnings("serial")
class MainFrame extends JFrame{
public MainFrame() {
setTitle("Primer JText en Java");
setBounds(500,500,700,700);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
MainPanel mainPanel = new MainPanel();
add(mainPanel);
}
}
@SuppressWarnings("serial")
class MainPanel extends JPanel{
public void paintComponent(Graphics g) {
super.paintComponent(g);
setLayout(null);
Square1 = new JTextField();
Square2 = new JTextField();
Square1.setBounds(120, 120 , 100, 25);
Square2.setBounds(120, 160, 100, 25);
add(Square1);
add(Square2);
focusEvent fEvent = new focusEvent();
Square1.addFocusListener(fEvent);
}
class focusEvent implements FocusListener{
public void focusGained(FocusEvent arg0) {
// TODO Auto-generated method stub
}
public void focusLost(FocusEvent arg0) {
// TODO Auto-generated method stub
String mail = Square2.getText();
boolean comprobacion = false;
for (int i=0; i<mail.length();i++) {
if (mail.charAt(i)=='@') {
comprobacion= true;
}
}
if (comprobacion){
System.out.println("El email es válido");
}
else{
System.out.println("El email no es válido");
}
}
}
JTextField Square1;
JTextField Square2;
}
public class WindowFocusListenerAndJText {
public static void main(String[] args) {
new MainFrame();
}
}