|
创建简单对话框不用Dialog类,而用类JOptionPane的静态方法即可。因此只要提供对话框需要的参数就行。简单对话框有4种,方法名的形式都是showXXXDialog,分别叙述如下。 消息框showMessageDialog的用法: JOptionPane.showMessageDialog(所属Frame,消息本身,对话框标题,图形标志常量),例如 JOptionPane.showMessageDialog(this,"这是消息框message!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE); 确认框showConfirmDialog的用法: JOptionPane.showConfirmDialog(所属Frame,要求确认的内容,对话框标题,yes-no-cancel按钮,图形标志常量),例如 JOptionPane.showConfirmDialog(this,"这是确认框confirm!","Confirm Dlg", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE); 选项框showOptionDialog的用法: JOptionPane.showOptionDialog(所属Frame,提示语,对话框标题,使用默认选项,警告标志常量,null,选项数组,默认选项),例如 JOptionPane.showOptionDialog(this,"请选择一个:", "Option Dlg",JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,null, options, options[1]); 输入框showInputDialog的用法: String JOptionPane.showInputDialog(输入提示语),返回输入的字符串,例如: String inputValue = JOptionPane.showInputDialog("这是输入框");
例12 本例程演示创建和使用简单对话框的方法。在菜单中选择一个就显示一个对话框。 程序运行后的界面如图12所示。


图12
程序的全部代码如下:
/// // OptionPane.java import java.awt.*; import java.awt.event.*; import javax.swing.*;
class MyFrame extends JFrame implements ActionListener{ public MyFrame(){ setTitle("简单对话框4种"); setSize(300, 200); setLocation(100,100); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(0);} }); myPanel = new MyPanel(); getContentPane().add(myPanel, "Center"); //创建一个菜单,含4个菜单项 JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); JMenu dlgMenu = new JMenu("ShowDlg"); dlgMenu.setMnemonic('S'); JMenuItem dlgItem = new JMenuItem("MessageDlg", 'M'); dlgMenu.add(dlgItem); dlgItem.addActionListener(this); dlgItem = new JMenuItem("ConfirmDlg", 'C'); dlgMenu.add(dlgItem); dlgItem.addActionListener(this); dlgItem = new JMenuItem("OptionDlg", 'O'); dlgMenu.add(dlgItem); dlgItem.addActionListener(this); dlgItem = new JMenuItem("InputDlg", 'I'); dlgMenu.add(dlgItem); dlgItem.addActionListener(this); menuBar.add(dlgMenu); } //监听相应的菜单项,弹出相应的对话框 public void actionPerformed(ActionEvent evt){ if (evt.getSource() instanceof JMenuItem){ String itemName = evt.getActionCommand(); if (itemName.equals("MessageDlg")){ JOptionPane.showMessageDialog(this,"这是消息框message!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE); } else if (itemName.equals("ConfirmDlg")){ JOptionPane.showConfirmDialog(this,"这是确认框confirm!","Confirm Dlg", J OptionPane.YES_NO_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE); } else if (itemName.equals("OptionDlg")){ Object[] options = { "China", "USA", "Japan" }; JOptionPane.showOptionDialog(this,"请选择一个国家", "Option Dlg", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE,null, options, options[1]); } else if (itemName.equals("InputDlg")){ String inputValue = JOptionPane.showInputDialog("这是输入框"); myPanel.setMsg(inputValue);Option } } } private MyPanel myPanel; } class MyPanel extends JPanel{ public MyPanel(){ szShowMsg = ""; } public void setMsg(String szMsg) { szShowMsg = szMsg; repaint(); } public void paintComponent(Graphics g){ super.paintComponent(g); g.drawString(szShowMsg, 20, 20); } 共2页: 上一页 1 [2] 下一页
|