本示例演示如何使用JOptionPane类方法创建消息对话框。在下面的代码,你会看到使用的JOptionPane.showMessageDialog(),JOptionPane.showInputDialog()和JOptionPane.showConfirmDialog()。
package org.nhooo.example.swing; import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class MessageDialogDemo extends JFrame { public MessageDialogDemo() throws HeadlessException { initialize(); } private void initialize() { setSize(200, 200); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); JButton button1 = new JButton("Click Me!"); button1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 显示带有文本消息的消息对话框 JOptionPane.showMessageDialog((Component) e.getSource(), "Thank you!"); } }); JButton button2 = new JButton("What is your name?"); button2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 显示一个输入对话框,要求您输入一些文本 String text = JOptionPane.showInputDialog((Component) e.getSource(), "What is your name?"); if (text != null && !text.equals("")) { JOptionPane.showMessageDialog((Component) e.getSource(), "Hello " + text); } } }); JButton button3 = new JButton("Close Application"); button3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 显示一个确认对话框,要求输入是或否 // 按钮。 int result = JOptionPane.showConfirmDialog((Component) e.getSource(), "Are you sure want to close this application?"); if (result == JOptionPane.YES_OPTION) { System.exit(0); } else if (result == JOptionPane.NO_OPTION) { // 不执行任何操作,继续运行应用程序 } } }); setLayout(new FlowLayout(FlowLayout.CENTER)); getContentPane().add(button1); getContentPane().add(button2); getContentPane().add(button3); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new MessageDialogDemo().setVisible(true); } }); } }