以前都是在做web 对swing了解很少 希望大虾们帮帮忙看看
JTextArea是一个必填项  我想做的是当JTextArea失去焦点 如果没有填写内容 则弹出提示框提示用户填写
 用户点击提示框的‘确定后’焦点重新回到JTextArea我自己做了个测试 ‘JTextArea失去焦点 如果没有填写内容 则弹出提示框提示用户填写’这个没问题 可就是“用户点击提示框的‘确定后’焦点重新回到JTextArea” 这个功能有问题  点击’确定‘后这个提示框怎么还出来 多次点击’确定‘后焦点才重新回到JTextArea以下是测试代码:   import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.border.EtchedBorder;public class TextArea extends JPanel{
JLabel label = new JLabel("标签");
JComboBox  combobox = new JComboBox();
JTextArea textArea = new JTextArea();

public TextArea(){
this.setPreferredSize(new Dimension(110,50));  
        this.setLayout(new GridLayout(12,1,0,2));

//下拉框
combobox.setEditable(true);//下拉框是否可编辑
combobox.setToolTipText("选择字体样式");
combobox.addItem("Serif");
combobox.addItem("Dialog");
combobox.addItem("Monospaced");
combobox.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JComboBox  combobox = (JComboBox)e.getSource();
String item = (String)combobox.getSelectedItem();
System.out.println(item);

label.setText(item);
label.setFont(new Font(item,Font.PLAIN,12));
}
});

//标签
label.setFont(new Font("DialogInput",Font.PLAIN,12));
//输入框
textArea.requestFocus();
textArea.setText("");
textArea.addFocusListener(new FocusListener(){ @Override
public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub

}
@Override
public void focusLost(FocusEvent e) {
// TODO Auto-generated method stub
if("".equals(textArea.getText())){
JOptionPane.showMessageDialog(null, "不能为空","提示框",JOptionPane.WARNING_MESSAGE);
textArea.requestFocus();
}
}
});

//增加各种组件到panel中
add(combobox);
add(label);
add(textArea);
this.setBorder(new EtchedBorder(EtchedBorder.LOWERED,Color.LIGHT_GRAY,Color.blue));
}

public static void main(String[] args){
TextArea panel = new TextArea();
JFrame frame = new JFrame();
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 530);
frame.setLocation(400, 150);
frame.setVisible(true);
}
}