gpt4 book ai didi

java - focusLost 事件显然忽略了循环

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:14 25 4
gpt4 key购买 nike

我正在 YouTube 类(class)中学习 Java,显然遇到了这个问题。我尝试在 focusLostevento 中创建一个循环。但是,它无法正常工作(程序会忽略它)。如果有人有解决方案,我会很高兴听到。我尝试了多种方法来做到这一点,但没有一个有效。任务是在第一个文本框中执行两个 JTextField 写入电子邮件,当它失去焦点时,使用循环遍历所有文本并检查它是否是寻找 @ 的有效电子邮件,但由于某种原因它没有进入循环

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();
}

}

最佳答案

焦点事件被添加到第一个文本字段

Square1.addFocusListener(fEvent)

然后电子邮件验证针对第二个文本字段

String mail = Square2.getText(); // or change this to Square1.getText();

如果您在第二个文本字段中添加电子邮件并失去第一个文本字段的焦点,它将起作用

关于java - focusLost 事件显然忽略了循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60654055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com