使用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
void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public
void run() {

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
void mouseClicked(MouseEvent e) {

/**

* 直接通过静态方法调用

* 需要指定父级窗体,信息,标题,选项类型,

* 信息类型,图标,可选值(数组),初始值(默认输入值)

* 返回值是 int 类型,创建以接收返回值

* 如果返回 0,对应 "方案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
0:System.out.println("你选择了
方案1");break;

case
1:System.out.println("你选择了
方案2");break;

case
2:System.out.println("你选择了
方案3");break;

default:

break;

}

}

}

});

btnshowoptiondialog.setFocusable(false);

contentPane.add(btnshowoptiondialog, BorderLayout.NORTH);

}

}

将窗体
JFrame 的 LookAndFeel 设定为 Windows

在根面板 contentPane 的上方添加一个 JButton,

将其 focusable 属性设为
false

为 JButton 添加 mouseClicked 事件,点击 按钮 弹出多项选择框

运行程序:

【made by siwuxie095】

时间: 2024-12-20 21:58:05

使用showOptionDialog显示多项选择框的相关文章

Unity编辑器扩展Texture显示选择框

学习NGUI插件的时候,突然间有一个问题为什么它这些属性可以通过弹出窗口来选中呢? 而我自己写的组件只能使用手动拖放的方式=.=. Unity开发了组件Inspector视图扩展API,如果我们要写插件方便别人来使用,使用编辑器扩展API让我们的组件显示的更华丽,使用方便 Texture弹出选择框选中图片赋值: 1个组件对应1个Edit扩展器,继承Editor必须让入Editor文件夹下 MyComponent: using UnityEngine; using System.Collectio

百度编辑器UEditor 点击上传图片选择框会延迟几秒才会显示 反应很慢(转)

转自:http://www.blogxuan.com/php/show/323.html UEditor 编辑器点击上传文件选择框会延迟几秒才会显示,反应很慢,上传图片选择框显示很慢. 1.ueditor/dialogs/image/images.js中的下面代码 accept: {   title: 'Images',   extensions: 'jpg,jpeg,png',   mimeTypes: 'image/*'} 修改为: accept: {   title: 'Images',

bootstrap 左右框多项选择示例

bootstrap 左右选择框,左边框是未选项,右边框是已选择项,提供单选,全选按钮,以及取消已选项,如图示: jsp中页面代码: 1 <div class="panel-heading">选择省份</div> 2 <fieldset> 3 <table class="table table-bordered dchannel-table"> 4 <tbody> 5 <tr class="i

dojo:如何显示ListBox风格的选择框

常见的选择框控件:Selelct.FilteringSelect和ComboBox都是下拉框风格,而不是ListBox风格. dojo还提供了一个dijit.form.MultiSelect控件可以解决问题并支持多选:http://dojotoolkit.org/reference-guide/1.10/dijit/form/MultiSelect.html 需要注意的是该空间不支持store这些,需要动态在JS代码中条件<OPTION>标签. 示例代码(在官网上的代码做了改动) <!D

微信开发 select选择框

最近在该企业微信的功能,要做一个微信界面,要使用select来做下拉选择框 部分前台HTML代码: 在选择分享组的时候,要从后台查询数据来做选择项 1 <form:form id="imgForm" modelAttribute="uploadImg" action="${oauthPath}/img/${agentKey}/submit" method="post"> 2 <input id="i

《JAVASCRIPT高级程序设计》选择框脚本和富文本编辑

一.选择框脚本 选择框也是表单的一个字段,是通过<select>和<option>元素来创建的,需要使用javascript来控制.选择框拥有以下的属性和方法: 以下介绍一些选择框的常用方法: 1.获取选择项 var selectbox = document.forms[0].elements["selectID"]; // 选择第0项的值和文本 var text = selectbox.options[0].text; var value = selectbo

Android 自学之列表选择框Spinner

列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinner支持的常用XML属性和说明: XML属性 说明 android:prompt 设置该列表框的提示 android:entries 使用数组资源设置该下拉列表框的列表项目 啥都不说了我们看看代码: layout/main.xml 1 <?xml version="1.0" encod

IOS的一个带动画的多项选择的控件(一)

先上效果图: 这个程序分2个层次,一个是顶部的带UITextField的bar,一个是下拉选择的view,下拉选择的view带有4个自定义的UIView 我们先定义一个UIViewController叫MyViewController,然后顶部的bar叫TopBarView,下拉选择的view叫TypeSelectView,像UIButton的自定义的view叫做TypeView TypeView有两种状态,如果手指触摸到的item就是选中状态,所以TypeSelectView应该有个属性表示当

Android开发系列(二十一):Spinner的功能和用法以及实现列表选择框

Spinner是一个列表选择框,相当于弹出一个菜单供用户进行选择. Spinner继承AdapterView Spinnet支持的XML的属性: android:entries:使用数组资源设置该下拉列表框的列表项目 android:popupBackground:设置下拉列表框的背景色 (一般这两个比较常用一点) 用Spinner用两种方法: 第一.已经确定下拉列表里的列表项,只要为Spinner指定android:entries属性就可以实现Spinner. 第二.如果程序需要在运行时动态地