package hytc.hehuahong;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
@SuppressWarnings("serial")
public class DemoInputDialog extends JFrame implements ActionListener {
JLabel messgeJLb;
JButton inputDialogJBtn;
JButton messageDialogJBtn;
JButton confirmDialogJBtn;
JButton optionDialogJBtn;
public DemoInputDialog(){
messgeJLb=new JLabel();
messgeJLb.setHorizontalAlignment(SwingConstants.CENTER);
messgeJLb.setFont(new Font("宋体",Font.PLAIN,28));
messgeJLb.setText(getName());
System.out.println(JOptionPane.CLOSED_OPTION);
System.out.println(JOptionPane.YES_OPTION);
System.out.println(JOptionPane.NO_OPTION);
System.out.println(JOptionPane.CANCEL_OPTION);
System.out.println(JOptionPane.OK_OPTION);
//对话框
inputDialogJBtn=new JButton("InputDialog");
inputDialogJBtn.setActionCommand("inputDialog");
inputDialogJBtn.addActionListener(this);
messageDialogJBtn=new JButton("MessageDialog");
messageDialogJBtn.setActionCommand("MessageDialog");
messageDialogJBtn.addActionListener(this);
confirmDialogJBtn=new JButton("ConfirmDialog");
confirmDialogJBtn.setActionCommand("ConfirmDialog");
confirmDialogJBtn.addActionListener(this);
optionDialogJBtn=new JButton("OptionDialog");
optionDialogJBtn.setActionCommand("OptionDialog");
optionDialogJBtn.addActionListener(this);
//
this.add(messgeJLb,BorderLayout.NORTH);
this.add(messageDialogJBtn,BorderLayout.CENTER);
this.add(inputDialogJBtn,BorderLayout.EAST);
this.add(confirmDialogJBtn,BorderLayout.WEST);
this.add(optionDialogJBtn,BorderLayout.SOUTH);
this.setBounds(20,20,500,350);
this.setTitle("InputDialog examp");
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
int messageType;
if(e.getActionCommand().equals("inputDialog")){
String message="请输入内容:";
String messageTitle="输入对话框";
messageType=JOptionPane.INFORMATION_MESSAGE;
String inputMessage=(String) JOptionPane.showInputDialog(this,message,messageTitle,messageType);
//必须先判断是否味null
if(inputMessage !=null && !inputMessage.equals("")){
this.messgeJLb.setText(inputMessage);
}
else
{
this.messgeJLb.setText("没有输入内容!");
JOptionPane.showMessageDialog(this, "没有输入内容!", "提示", messageType);
// int result=JOptionPane.showMessageDialog(this, "没有输入内容!", "提示", messageType);
// switch(result){
// case (int)JOptionPane.OK_OPTION:
// this.messgeJLb.setText("OK_OPTION");break;
// default :this.messgeJLb.setText("CLOSED_OPTION");break;
// }没有返回值
}
}
else if(e.getActionCommand().equals("ConfirmDialog")){
messageType=JOptionPane.INFORMATION_MESSAGE;
int result=JOptionPane.showConfirmDialog(this, "ConfirmDialog", "test", messageType, JOptionPane.YES_NO_CANCEL_OPTION);
switch(result){
case (int)JOptionPane.YES_OPTION:
this.messgeJLb.setText("Yes_OPTION");break;
case (int)JOptionPane.NO_OPTION:
this.messgeJLb.setText("NO_OPTION");break;
case (int)JOptionPane.CANCEL_OPTION:
this.messgeJLb.setText("CANCEL_OPTION");break;
default :this.messgeJLb.setText("CLOSED_OPTION");break;
}
}
else if(e.getSource()==optionDialogJBtn){
Object []options={"ni hao","Hello"};
messageType=JOptionPane.INFORMATION_MESSAGE;
int result=JOptionPane.showOptionDialog(this, "optionDialogJBtn", "test", JOptionPane.OK_CANCEL_OPTION, messageType,null,options,options[1]);
this.messgeJLb.setText(options[result].toString());
}
}
public static void main(String[] args) {
new DemoInputDialog();
}
}
Java对话框详细实例能得到用户的各种选择



在Java编程中,对话框(Dialog)是一种非常重要的交互组件,它用于与用户进行临时性的交互,获取用户的输入或展示信息。本实例将深入探讨如何使用Java中的对话框类来实现用户的不同选择和输入。 Java提供了两种主要类型的对话框:`JOptionPane`和自定义对话框。`JOptionPane`是Java Swing库中的一个类,它提供了一些预定义的对话框,如信息对话框、警告对话框、确认对话框和输入对话框。这些对话框可以方便地通过静态方法调用来创建和显示。 1. **`JOptionPane.showInputDialog()`**:这个方法用来创建一个输入对话框,允许用户输入文本。例如,我们可以通过以下代码创建一个询问用户名字的对话框: ```java String name = JOptionPane.showInputDialog("请输入你的名字:"); System.out.println("你好," + name); ``` 2. **`JOptionPane.showConfirmDialog()`**:此方法创建一个确认对话框,用户可以选择“是”、“否”或“取消”。这在需要用户确认操作时非常有用。例如,删除文件前的确认: ```java int result = JOptionPane.showConfirmDialog(null, "确定要删除文件吗?", "确认操作", JOptionPane.YES_NO_OPTION); if (result == JOptionPane.YES_OPTION) { // 执行删除操作 } ``` 3. **`JOptionPane.showMessageDialog()`**:用于显示信息对话框,通常用来通知用户一些信息,不期望用户有特定的响应。例如,显示欢迎消息: ```java JOptionPane.showMessageDialog(null, "欢迎使用我们的应用!"); ``` 4. **`JOptionPane.showOptionDialog()`**:这是一个更通用的对话框,可以自定义按钮和返回值,适合复杂场景。 除了这些预定义的对话框,你还可以通过继承`JDialog`类或`javax.swing.JDialog`类创建自定义对话框,添加更多的组件,比如文本字段、复选框、单选按钮等,以满足更复杂的用户交互需求。 在压缩包中的`DemoInputDialog.java`和`InputDialog.java`文件,很可能就是展示了如何自定义输入对话框的示例。`InputDialog.java`可能包含一个自定义对话框类,用于获取用户输入,并可能包含验证输入的逻辑。而`DemoInputDialog.java`可能是主程序,它创建并显示`InputDialog`对话框。 在实际开发中,正确使用对话框能够显著提升应用的用户体验。理解并熟练运用这些对话框方法,可以帮助我们更好地设计和实现用户交互,确保用户能清晰地理解和回应应用程序的请求。记住,对话框的设计应当简洁明了,避免让用户感到困扰或困惑。同时,考虑到异常处理和界面响应性也是关键,确保在用户未给出明确响应时,程序能够正常运行。


















- 1

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- fluency1112014-09-22挺好的,作JAVA大作业参考了下

- 粉丝: 0
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 智能家居_声控人脸识别家电控制系统_1741166848.zip
- 智能家居_米居_AndroidWatch_控制应用_1741167164.zip
- 智能家居_天猫精灵接入_服务配置_开发者工具_1741167323.zip
- 智能家居_Haier设备接入_HomeAssistant插件_1741166864.zip
- 智能家居_HibernateSerial_环境监测系统_1741167656.zip
- 网络通信_SwooleWorker_长连接_分布式框架_1741167379.zip
- 人工智能语音助手_自定义_HadreamAssistant__1741167195.zip
- 智能家居_STM32F103C8T6_DHT11_数据监控_1741167508.zip
- Pandat代算与手动操作:Al-Mg扩散偶退火后元素浓度变化对比研究,扩散元素浓度变化分析:Al-Mg合金在不同退火条件下的扩散浓度曲线计算与实验数据对比,扩散浓度曲线计算(Pandat代算或自己操
- 米花同城社区小程序V7.8.3+2个插件+前端.zip
- 苹果鼠标 Windows驱动
- 螃蟹红包码1.7.0.zip
- 直接计算法的弱磁控制策略:低转速采用最大转矩电流比控制,高转速实施沿电压矢量控制,直接计算法的弱磁控制策略:低转速下最大转矩电流比控制,高转速沿电压矢量控制,直接计算法弱磁控制策略 额定转速以下采用
- 前端分析-2023071100789s07
- 小小素材库V7.8.43 原版 小程序前端+后端.zip
- 前端分析-2023071100789s08


