📄 optionpaneframe.java
字号:
package optionpaneapplication;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
import javax.swing.JComboBox;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class OptionPaneFrame extends JFrame {
JPanel contentPane;
JComboBox cboOptions = new JComboBox();
JTextField txtOption = new JTextField();
public OptionPaneFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(306, 155));
setTitle("OptionFrame");
cboOptions.setBounds(new Rectangle(24, 28, 257, 23));
cboOptions.addActionListener(new
OptionPaneFrame_cboOptions_actionAdapter(this));
cboOptions.addItem("选择 JOptionPane 类型");
cboOptions.addItem("带有默认标题和图标的消息");
cboOptions.addItem("带有自定义标题和警告图标的消息");
cboOptions.addItem("带有自定义标题和错误图标的消息");
cboOptions.addItem("带有自定义标题但没有图标的消息");
cboOptions.addItem("是/否 (不带任何提示消息)");
cboOptions.addItem("是/否 (程序员术语)");
cboOptions.addItem("是/否/取消 (程序员术语)");
txtOption.setText("");
txtOption.setBounds(new Rectangle(60, 64, 182, 21));
contentPane.add(cboOptions);
contentPane.add(txtOption);
}
void yes_nodisplay(int n) {
if (n == JOptionPane.YES_OPTION)
txtOption.setText("哎呀!");
else if (n == JOptionPane.NO_OPTION)
txtOption.setText("我也是!");
else
txtOption.setText("来吧 -- 告诉我!");
}
void yes_no_canceldisplay(int x) {
if (x == JOptionPane.YES_OPTION)
txtOption.setText("给您: 绿色的鸡蛋和树!");
else if (x == JOptionPane.NO_OPTION)
txtOption.setText("好的, 那就只要火腿.");
else if (x == JOptionPane.CANCEL_OPTION)
txtOption.setText("唔, 我肯定不会吃这些东西!");
else
txtOption.setText("请告诉我们您想要什么!");
}
void yes_nooptiondisplay(int i) {
if (i == JOptionPane.YES_OPTION)
txtOption.setText("您一定在开玩笑!");
else if (i == JOptionPane.NO_OPTION)
txtOption.setText("我也不喜欢它们.");
else
txtOption.setText("来吧 -- 告诉我实情!");
}
public void cboOptions_actionPerformed(ActionEvent e) {
switch (cboOptions.getSelectedIndex()) {
case 1:
JOptionPane.showMessageDialog(this, "树应该是绿色的.");
break;
case 2:
JOptionPane.showMessageDialog(this, "树应该是绿色的", "空警告",
JOptionPane.WARNING_MESSAGE);
break;
case 3:
JOptionPane.showMessageDialog(this, "树应该是绿色的", "空错误",
JOptionPane.ERROR_MESSAGE);
break;
case 4:
JOptionPane.showMessageDialog(this, "树应该是绿色的", "一则简单的消息",
JOptionPane.PLAIN_MESSAGE);
break;
case 5:
int n = JOptionPane.showConfirmDialog(this, "您要吃绿色的树和绿色的鸡蛋吗?",
"一个可笑的问题",
JOptionPane.YES_NO_OPTION);
yes_nodisplay(n);
break;
case 6:
Object[] options = {"是的, 请", "不, 谢谢!"};
int i = JOptionPane.showOptionDialog(this, "您要吃绿色的树和绿色的鸡蛋吗?",
"一个愚蠢的问题",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null,
options, options[0]);
yes_nooptiondisplay(i);
break;
case 7:
Object[] option = {"是的, 请", "不, 谢谢", "取消!"};
int x = JOptionPane.showOptionDialog(this,
"要吃绿色的树和绿色的鸡蛋吗?",
"一个愚蠢的问题",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null,
option, option[2]);
yes_no_canceldisplay(x);
}
}
}
class OptionPaneFrame_cboOptions_actionAdapter implements ActionListener {
private OptionPaneFrame adaptee;
OptionPaneFrame_cboOptions_actionAdapter(OptionPaneFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.cboOptions_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -