Win.java
public class Win {
public static void main(String args[]) {
WindowMess win=new WindowMess();
win.setTitle("带消息对话框的窗口");
win.setBounds(80,90,400,400);
}
}
WindowMess.java
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class WindowMess extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
JTextField inputEnglish;
JTextArea show;
String regex = "\\d+";
WindowMess() {
inputEnglish = new JTextField(22);
inputEnglish.addActionListener(this);
show = new JTextArea();
add(inputEnglish, BorderLayout.NORTH);
add(show, BorderLayout.CENTER);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == inputEnglish) {
String str = inputEnglish.getText();
if (str.matches(regex)) {
show.append(str + ",");
} else { // 弹出“警告”消息对话框
JOptionPane.showMessageDialog(this, "您输入了非法字符", "消息对话框",
JOptionPane.WARNING_MESSAGE);
inputEnglish.setText(null);
}
}
}
}
对话框有消息对话框,输入对话框,确认对话框,颜色对话框,文件对话框,自定义对话框。
消息对话框用javax.swing包中的JOptionPane类的静态方法
public static void showMassageDialog(Component parentComponent,
String message,
String title,
int messageType)
messageType取下列有效值
JOptionPane.INFORMATION_MESSAGE;
JOptionPane.WARNING_MESSAGE;
JOptionPane.ERROR_MESSAGE;
JOptionPane.QUESTION_MESSAGE;
JOptionPane.PLAIN_MESSAGE;