Java Swing 对话框JOptionPane的基本使用

目录

JOptionPane类常用的四种消息提示框方法

JOptionPane类的参数

showMessageDialog();

showConfirmDialog();

showOptionDialog();

showInputDialog();


JOptionPane类常用的四种消息提示框方法

showMessageDialog();消息对话框
showConfirmDialog();选择对话框
showOptionDialog();自定义选择对话框
showInputDialog();输入对话框

JOptionPane类的参数介绍

JOptionPane参数介绍
parentComponent设置对话框的父级容器(组件)
message消息内容
title对话框标题
messageType消息类型,每种消息类型提供一个默认的图像
icon设置自定义对话框的图像
optionType按钮类型
options自定义按钮数组,自定义选项按钮的文字
initalValue设置默认选中的按钮

selectionValues

自定义选项数组,用于定义下拉框 

initialselectionValue设置默认选中的选项

parentComponent :对话框会显示在容器的中心,如果没有指定及传入null,则对话框采用缺省的Frame作为父窗口,即对话框会显示在屏幕的中心位置



showMessageDialog();

参数格式:

JOptionPane.showMessageDialog(parentComponent, message, title, messageType, icon);

1. 文本框

JOptionPane.showMessageDialog(null,"基本框","Title",JOptionPane.PLAIN_MESSAGE);

2. 普通提示框

JOptionPane.showMessageDialog(null,"普通提示框");
JOptionPane.showMessageDialog(null,"普通提示框","Title",JOptionPane.INFORMATION_MESSAGE);

通过上面两个代码的执行结果可以知道messageType的默认值为JOptionPane.INFORMATION_MESSAGE,title的默认值为"消息"

当要提示动态数组的信息时,可以采用此方法执行

 3. 警示框

JOptionPane.showMessageDialog(null,"警示框","Title",JOptionPane.WARNING_MESSAGE);

4. 错误提示框

JOptionPane.showMessageDialog(null,"错误提示框","Title",JOptionPane.ERROR_MESSAGE);

5. 提问框(问题框)

JOptionPane.showMessageDialog(null,"提问框","Title",JOptionPane.QUESTION_MESSAGE);


showConfirmDialog();

选择对话框,可以设置对话框的按钮,通常按钮为”是”、“否“、”确定“、”取消“等组合按钮

参数格式:

JOptionPane.showConfirmDialog(parentComponent, message, title, optionType, messageType, icon)

1. 是否对话框

int n = JOptionPane.showConfirmDialog(null,"你是否喜欢java?","Title",JOptionPane.YES_NO_CANCEL_OPTION);
System.out.println(n);

        

通过测试可以发现,该方法的返回值是int型,选择第一个按钮返回0,第二个按钮返回1,以此类推


showOptionDialog();

参数格式:

JOptionPane.showOptionDialog(parentComponent, message, title, optionType, messageType, icon, options, initialValue)

Object[] options = {"喜欢", "不喜欢"};        //定义按钮上的文字
int n = JOptionPane.showOptionDialog(null,"你喜欢我吗?","Title",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,options,options);

Object[] options = {"喜欢", "不喜欢"};        //定义按钮上的文字
int n = JOptionPane.showOptionDialog(null,"你喜欢我吗?","Title",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,options,options[1]);

 

第一个options是自定义Object数组的名称,最后一个options是指定的默认的选项,如果不指定下标,则相当于选择第一个选项options[0]


showInputDialog();

参数格式:

JOptionPane.showInputDialog(parentComponent, message, title, messageType, icon, selectionValues, initialSelectionValue)

1. 输入框

String name = JOptionPane.showInputDialog(null,"Please enter your account\n","Title",JOptionPane.PLAIN_MESSAGE);
System.out.println(name);

返回值类型为String

2. 下拉框

Object[] options = {"中国", "美国","德国",4};        //定义下拉框选项    当数组长度大于等于20时,会变成列表框
Object object =  JOptionPane.showInputDialog(null,"请选择你的国籍\n","Title",JOptionPane.QUESTION_MESSAGE,new ImageIcon("D://地球.png"), options,"中国");
System.out.println(object);
System.out.println(object instanceof String);

这里注意:返回值类型为什么要用Object类型的变量接收呢?

因为该方法返回的是你选择的下拉框内容,因此应用Object类型接收,当选择”4”时,返回值类型是int,选择”中国”时,返回值类型是String

3. 列表框

Object[] options = {"中国", "美国","德国",4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};        //定义下拉框选项    当数组长度大于等于20时,会变成列表框
Object object =  JOptionPane.showInputDialog(null,"请选择你的国籍\n","Title",JOptionPane.QUESTION_MESSAGE,new ImageIcon("D://地球.png"),options,"中国");
System.out.println(object instanceof String);

当options数组长度超过20时,对话框就会以列表框的方式呈现

### 关于RC抽取的方法和工具 #### RC抽取概述 RC抽取是指从集成电路设计中提取寄生电阻(R)和电容(C)的过程。这一过程对于静态时序分析(Static Timing Analysis, STA)至关重要,因为它提供了精确的延迟估计和其他性能指标所需的寄生参数数据[^3]。 #### 常见的RC抽取方法 1. **Preroute RC抽取** Preroute RC抽取依赖于布线前的信息,例如绕线密度和网络形状(由早期全局路由和时钟树综合提供)。这种方法不考虑耦合电容的影响,因此其精度可能有限[^2]。 2. **Postroute RC抽取** Postroute引擎则是在完成实际布线之后进行RC参数的提取。相比preroute方法,postroute能够更准确地反映最终布局布线后的寄生效应对电路性能的影响。 3. **基于Layer Map的调整** Layer map文件定义了不同金属层之间的电气特性以及它们如何相互作用。通过校正layer map中的设置或者参照标准库如StarRC提供的map文件,可以改善RC抽取的结果准确性[^1]。 4. **自动化命令执行** 大多数EDA工具支持直接运行脚本来自动完成整个RC提取流程。这些脚本通常封装了复杂的算法逻辑并优化了处理速度与资源消耗。 5. **联合实体关系抽取技术的应用探讨** 虽然主要讨论的是硬件领域内的RC提取,但在某些情况下也可以借鉴软件工程领域的做法来改进实体识别及关联构建效率。例如,在自然语言处理(NLP)任务中有研究提出了一种新的联合抽取(Joint Extraction)框架减少中间步骤带来的误差累积问题[^4]。尽管此部分并非传统意义上的电子设计自动化(EDA),但它展示了跨学科思维如何促进技术创新的可能性。 #### 使用示例代码片段展示如何调用典型EDA工具API实现基本功能 以下是假设的一个Python接口用于启动某个特定厂商提供的RC Extractor服务实例化对象及其配置属性设定的例子: ```python from rc_extractor import RCEngine def setup_rc_extraction(layer_map_path="default_layer.map"): extractor = RCEngine() # 设置图层映射路径 extractor.set_layer_mapping(layer_map_path) # 配置其他必要选项... extractor.configure_options({ 'coupling_capacitance': True, 'resistance_only_mode': False }) return extractor if __name__ == "__main__": my_extractor = setup_rc_extraction("/path/to/custom/mapfile.map") result_spef_file = "/output/directory/circuit.spef" success = my_extractor.run_extraction(input_netlist="/input/netlist.v", output=result_spef_file) if not success: print(f"Error during extraction process.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黯然-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值