使用showOptionDialog显示多项选择框
-----------------siwuxie095
工程名:TestJOptionPane
包名:com.siwuxie095.showdialog
类名:TestOptionDialog.java
工程结构目录如下:

代码:
|
package com.siwuxie095.showdialog; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import com.sun.java.swing.plaf.windows.WindowsLookAndFeel; import com.sun.org.apache.xerces.internal.impl.xs.SchemaSymbols; import javax.swing.JButton; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class TestOptionDialog extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static EventQueue.invokeLater(new Runnable() { public try { TestOptionDialog frame = new TestOptionDialog(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public TestOptionDialog() {
try { UIManager.setLookAndFeel(new WindowsLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); }
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane);
JButton btnshowoptiondialog = new JButton("显示多项选择框(showOptionDialog)");
//为 btnshowoptiondialog.addMouseListener(new MouseAdapter() { @Override public
/** * 直接通过静态方法调用 * 需要指定父级窗体,信息,标题,选项类型, * 信息类型,图标,可选值(数组),初始值(默认输入值) * 返回值是 int 类型,创建以接收返回值 ,对应 "方案1" ... * 如果返回 CLOSED_OPTION,则该窗口关闭,没有选择 * 没有关闭多项选择框时,后面的主窗体是完全无法操作的(即 */ String options[]={"方案1","方案2","方案3"}; int value=JOptionPane.showOptionDialog(TestOptionDialog.this, "选择一个方案:", "方案", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, "方案1");
if (value!=JOptionPane.CLOSED_OPTION) { switch (value) { case case case default: break; } }
} }); btnshowoptiondialog.setFocusable(false); contentPane.add(btnshowoptiondialog, BorderLayout.NORTH); } } |
将窗体
JFrame 的 LookAndFeel 设定为 Windows
在根面板 contentPane 的上方添加一个 JButton,
将其 focusable 属性设为
false
为 JButton 添加 mouseClicked 事件,点击 按钮 弹出多项选择框
运行程序:

【made by siwuxie095】
使用showOptionDialog显示多项选择框的更多相关文章
- 【代码笔记】iOS-单项选择框
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...
- C# 复选框显示多项选择
private void Form1_Load(object sender, EventArgs e) { checkedListBox1.Items.Add("语文"); che ...
- MVC中下拉框显示枚举项
原文:MVC中下拉框显示枚举项 本篇将通过3种方式,把枚举项上的自定义属性填充到下拉框: 1.通过控制器返回List<SelectListItem>类型给前台视图 2.通过为枚举类型属性打 ...
- Unity编辑器扩展Texture显示选择框
学习NGUI插件的时候,突然间有一个问题为什么它这些属性可以通过弹出窗口来选中呢? 而我自己写的组件只能使用手动拖放的方式=.=. Unity开发了组件Inspector视图扩展API,如果我们要写插 ...
- 百度编辑器UEditor 点击上传图片选择框会延迟几秒才会显示 反应很慢(转)
转自:http://www.blogxuan.com/php/show/323.html UEditor 编辑器点击上传文件选择框会延迟几秒才会显示,反应很慢,上传图片选择框显示很慢. 1.uedit ...
- 修改页面中显示出需要修改的数据(包括select选择框复显示)
页面中需要用到某个对象时,在底层代码中赋值,然后页面用java代码进行获取调用 如下截图: select复显示:根据后台方法赋值选择框 ,并设置初始值 按钮及选择框的禁用(五种方法): 方法一: $( ...
- bootstrap 左右框多项选择示例
bootstrap 左右选择框,左边框是未选项,右边框是已选择项,提供单选,全选按钮,以及取消已选项,如图示:
- dojo:如何显示ListBox风格的选择框
常见的选择框控件:Selelct.FilteringSelect和ComboBox都是下拉框风格,而不是ListBox风格. dojo还提供了一个dijit.form.MultiSelect控件可以解 ...
- layui下拉选择框select不显示
弹层layer下拉框没有样式_不可点击_没有效果_渲染失效的解决办法 一.必须给表单体系所在的父元素加上 class="layui-form" 在一个容器中设定 class=&qu ...
随机推荐
- eclipse---个人设置
window---- preferences -----修改背景颜色 -----修改字体 ----修改窗口主题 ----设置编码 -----设置编译环境 ----设置web项目JDK编译的版本 --- ...
- linux 指令(经常更新)
添加一个服务 # sudo update-rc.d 服务名 defaults 99 删除一个服务 # sudo update-rc.d 服务名 remove 临时重启一个服务 # /etc/init. ...
- ARM汇编学习笔记
ARM RISC (Reduced Instruction Set Computers) X86 CISC (Complex Instruction Set Computers) ...
- linux系统的nobody用户
正如window系统在安装完毕后会自动建立一些用户账号,linux也会生成一些目标是为了完成特定任务的账号,如nobody和ftp 首先,nobody是一个普通用户,没有特权,他存在的目的是为了让任何 ...
- 20145229吴姗珊两天小总结 《Java程序设计》第4周学习总结
20145229吴姗珊两天小总结 <Java程序设计>第4周学习总结 教材学习内容总结 由于自己的基础不好对知识的理解不透彻,所以这两天的学习还是集中在第六章和第七章,对知识点多了一点理解 ...
- 对类型化数组(Typed Array)与ArrayBuffer的理解 转囧囧
类型化数组(Typed Array)也是HTML5中新引入的API.用一句话解释类型化数组就是:它是JS操作二进制数据的接口. 众所周知,直接操作二进制数据可以使程序更为高效, 尽管JS对常规数组做了 ...
- Understanding Linux File Permissions
Although there are already a lot of good security features built into Linux-based systems, one very ...
- hbase shell-security(安全指令)
hbase shell安全指令篇: grant list_security_capabilities revoke user_permission 正在编辑中
- Entity Framework中的Identity map和Unit of Work模式(转)
一,什么是Identity map模式 Identity map是EF获取和缓存数据的模式.Identity map模式指的是任何数据都只会被加载一次,以map的形式缓存,以唯一的identity来再 ...
- Netty使用LineBasedFrameDecoder解决TCP粘包/拆包
TCP粘包/拆包 TCP是个”流”协议,所谓流,就是没有界限的一串数据.TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TC ...