📄 s14.htm
字号:
contentPane.add(button);</p> <p> button.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> JOptionPane.showInternalMessageDialog(<br> button, // parentComponent<br> "Break Time ...", // message<br> "Reminder!", // title<br> JOptionPane.INFORMATION_MESSAGE); // messageType<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 14.3.2 用JOptionPane静态方法创建对话框</p> <p> </p> <p> 14.3.3 消息对话框</p> <p> </p> <p align="center"><b>例14-6 显示具有不同消息类型的消息对话框</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> private JButton button = new JButton("show dialog ...");</p> <p> private String title = "dialog title";<br> private String message = "information";<br> private int messageType = JOptionPane.INFORMATION_MESSAGE;<br> private String messages[] = {<br> "information", "error", "warning", "question", "plain"<br> };</p> <p> public Test() {<br> Container contentPane = getContentPane();<br> JPanel controlPanel = new ControlPanel(this);</p> <p> contentPane.setLayout(new FlowLayout());<br> contentPane.add(controlPanel);<br> contentPane.add(button);</p> <p> button.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> JOptionPane.showMessageDialog(<br> button, // parentComponent<br> message, // message<br> title, // title<br> messageType);<br> }<br> });<br> }<br> public void setMessageType(int messageType) {<br> this.messageType = messageType;</p> <p> switch(messageType) {<br> case JOptionPane.INFORMATION_MESSAGE:<br> message = messages[0]; <br> break;<br> case JOptionPane.ERROR_MESSAGE:<br> message = messages[1]; <br> break;<br> case JOptionPane.WARNING_MESSAGE:<br> message = messages[2]; <br> break;<br> case JOptionPane.QUESTION_MESSAGE:<br> message = messages[3]; <br> break;<br> case JOptionPane.PLAIN_MESSAGE:<br> message = messages[4]; <br> break;<br> }<br> }<br> }<br> class ControlPanel extends JPanel { <br> private JComboBox messageTypes = new JComboBox();<br> private int[] typeValues = {<br> JOptionPane.INFORMATION_MESSAGE,<br> JOptionPane.ERROR_MESSAGE,<br> JOptionPane.WARNING_MESSAGE,<br> JOptionPane.QUESTION_MESSAGE,<br> JOptionPane.PLAIN_MESSAGE,<br> };<br> private String[] typeNames = {<br> "JOptionPane.INFORMATION_MESSAGE",<br> "JOptionPane.ERROR_MESSAGE",<br> "JOptionPane.WARNING_MESSAGE",<br> "JOptionPane.QUESTION_MESSAGE",<br> "JOptionPane.PLAIN_MESSAGE",<br> };</p> <p> public ControlPanel(final Test applet) {<br> add(messageTypes);</p> <p> for(int i=0; i < typeNames.length; ++i) {<br> messageTypes.addItem(typeNames[i]);<br> }<br> messageTypes.addItemListener(new ItemListener() {<br> public void itemStateChanged(ItemEvent e) {<br> String s = (String)messageTypes.getSelectedItem();<br> int type;</p> <p> for(int i=0; i < typeNames.length; ++i) {<br> if(s.equals(typeNames[i]))<br> applet.setMessageType(typeValues[i]);<br> }<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p align="center"><b>例14-7 替换消息对话框的缺省图标</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> private JButton button = new JButton("show dialog ...");</p> <p> private String title = "Reminder!";<br> private String message = "Dinner time";</p> <p> public Test() {<br> Container contentPane = getContentPane();</p> <p> contentPane.setLayout(new FlowLayout());<br> contentPane.add(button);</p> <p> button.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> JOptionPane.showMessageDialog(<br> button, // parentComponent<br> message, // message<br> title, // title<br> JOptionPane.INFORMATION_MESSAGE,// messageType<br> new ImageIcon("dining.gif")); // icon <br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> </p> <p> 14.3.4 确认对话框</p> <p> </p> <p align="center"><b>例14-8 使用确认对话框</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> private JButton button = new JButton("show dialog ...");</p> <p> private String title = "Unsaved Changes";<br> private String message[] = {<br> "Unsaved Changes in File: dialog.fm",<br> " ",<br> "Save before closing?",<br> " ",<br> };</p> <p> public Test() {<br> Container contentPane = getContentPane();</p> <p> contentPane.setLayout(new FlowLayout());<br> contentPane.add(button);</p> <p> button.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> int result = JOptionPane.showConfirmDialog(<br> button, // parentComponent<br> message, // message<br> title, // title<br> JOptionPane.YES_NO_CANCEL_OPTION, // optionType<br> JOptionPane.WARNING_MESSAGE, // messageType<br> new ImageIcon("punch.gif")); // icon</p> <p> switch(result) {<br> case JOptionPane.CLOSED_OPTION: <br> showStatus("Dialog Closed");<br> break;<br> case JOptionPane.YES_OPTION: <br> showStatus("Yes");<br> break;<br> case JOptionPane.NO_OPTION: <br> showStatus("No");<br> break;<br> case JOptionPane.CANCEL_OPTION:<br> showStatus("Cancel");<br> break;<br> }<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 14.3.5 输入对话框</p> <p> </p> <p align="center"><b>例14-9 有文本域的输入对话框</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> private JButton button = new JButton("show dialog ...");<br> private String message = "Please Enter Your Name";</p> <p> public Test() {<br> Container contentPane = getContentPane();</p> <p> contentPane.setLayout(new FlowLayout());<br> contentPane.add(button);</p> <p> button.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> String s = JOptionPane.showInputDialog(message);</p> <p> if(s == null)<br> showStatus("cancel button activated");<br> else<br> showStatus("Name: " + s);<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p align="center"><b>例14-10 有组合框的输入对话框</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> private JButton button = new JButton("show dialog ...");</p> <p> private String title = "Animal Selection Dialog";<br> private String message = "Select your favorite animal:";<br> private String[] selectionValues = {<br> "dog", "cat", "mouse", "goat", "koala", "rabbit",<br> };</p> <p> public Test() {<br> Container contentPane = getContentPane();</p> <p> contentPane.setLayout(new FlowLayout());<br> contentPane.add(button);</p> <p> button.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> String s = (String)JOptionPane.showInputDialog(<br> Test.this, // parentComponent<br> message, // message<br> title, // title<br> JOptionPane.QUESTION_MESSAGE, // messageType<br> null, // icon<br> selectionValues, // selectionValues<br> selectionValues[3]); // initialValue</p> <p> if(s == null)<br> showStatus("cancel button activated");<br> else<br> showStatus(s);<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p align="center"><b>例14-11 带列表的输入对话框</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> private JButton button = new JButton("show dialog ...");</p> <p> private String title = "Animal Selection Dialog";<br> private String message = "Select your favorite animal:";<br> private Object[] selectionValues = {<br> "dog", "cat", "mouse", "goat", "koala", "rabbit",<br> "mouse", "horse", "kangaroo", "iguana", "tiger", "lion",<br> "eagle", "vulture", "wolf", "coyote", "owl", "snake",<br> "shrew", "zebra", "wildebeast"<br> };</p> <p> public Test() {<br> Container contentPane = getContentPane();</p> <p> contentPane.setLayout(new FlowLayout());<br> contentPane.add(button);</p> <p> button.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> String s = (String)JOptionPane.showInputDialog(<br> Test.this, // parentComponent<br> message, // message<br> title, // title<br> JOptionPane.QUESTION_MESSAGE, // messageType<br> null, // icon<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -