精华内容
下载资源
问答
  • 我创建了JOptionPane.showConfirmDialog,它只有两个按钮YES BUTTON。弹出JOptionPane.showConfirmDialog之后,我想单击YES BUTTON以继续打开JFileChooser,如果单击NO BUTTON,则应取消该操作。...

    我创建了JOptionPane.showConfirmDialog,它只有两个按钮YES BUTTON。

    弹出JOptionPane.showConfirmDialog之后,我想单击YES BUTTON以继续打开JFileChooser,如果单击NO BUTTON,则应取消该操作。

    看起来很容易,但我不确定我的错误在哪里。

    代码片段:

    if (textArea.getLineCount() >= 1) { //The condition to show the dialog if there is text inside the textArea

    int dialogButton = JOptionPane.YES_NO_OPTION;

    JOptionPane.showConfirmDialog (null, "Would You Like to Save your Previous Note First?","Warning",dialogButton);

    if (dialogButton == JOptionPane.YES_OPTION) { //The ISSUE is here

    JFileChooser saveFile = new JFileChooser();

    int saveOption = saveFile.showSaveDialog(frame);

    if(saveOption == JFileChooser.APPROVE_OPTION) {

    try {

    BufferedWriter fileWriter = new BufferedWriter(new FileWriter(saveFile.getSelectedFile().getPath()));

    fileWriter.write(textArea.getText());

    fileWriter.close();

    } catch(Exception ex) {

    }

    }

    展开全文
  • 下面的示例展示如何在基于swing的应用程序中显示带有是,否和取消选项的确认对话框。使用以下API -JOptionPane - 创建标准对话框。JOptionPane.showConfirmDialog() - 显示确认消息框。JOptionPane.YES_NO_CANCEL_...

    下面的示例展示如何在基于swing的应用程序中显示带有是,否和取消选项的确认对话框。

    使用以下API -

    JOptionPane - 创建标准对话框。

    JOptionPane.showConfirmDialog() - 显示确认消息框。

    JOptionPane.YES_NO_CANCEL_OPTION - 获取是,否和取消按钮。

    示例

    package com.yiibai.swingdemo;

    import java.awt.BorderLayout;

    import java.awt.FlowLayout;

    import java.awt.LayoutManager;

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.JLabel;

    import javax.swing.JOptionPane;

    import javax.swing.JPanel;

    public class SwingTester {

    public static void main(String[] args) {

    createWindow();

    }

    private static void createWindow() {

    JFrame frame = new JFrame("Swing确认对话框示例(yiibai.com)");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    createUI(frame);

    frame.setSize(560, 200);

    frame.setLocationRelativeTo(null);

    frame.setVisible(true);

    }

    private static void createUI(final JFrame frame){

    JPanel panel = new JPanel();

    LayoutManager layout = new FlowLayout();

    panel.setLayout(layout);

    JButton button = new JButton("点击我~");

    final JLabel label = new JLabel();

    button.addActionListener(new ActionListener() {

    @Override

    public void actionPerformed(ActionEvent e) {

    int result = JOptionPane.showConfirmDialog(frame,"确定要退出?", "Swing对话框",

    JOptionPane.YES_NO_CANCEL_OPTION,

    JOptionPane.QUESTION_MESSAGE);

    if(result == JOptionPane.YES_OPTION){

    label.setText("你选择了: 是");

    }else if (result == JOptionPane.NO_OPTION){

    label.setText("你选择了: 否");

    }else if (result == JOptionPane.CANCEL_OPTION){

    label.setText("你选择了: 取消");

    }else {

    label.setText("什么也没有选择!");

    }

    }

    });

    panel.add(button);

    panel.add(label);

    frame.getContentPane().add(panel, BorderLayout.CENTER);

    }

    }

    执行上面示例代码,得到以下结果:

    6ec0ebf8c66983744917f5c0c4461863.png

    ¥ 我要打赏

    纠错/补充

    收藏

    加QQ群啦,易百教程官方技术学习群

    注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

    展开全文
  • 52 if(hasFocus) {53 //展示下拉选项 54 view.showDropDown();55 }56 Log.d("fanhy", "监听,是否获取到焦点:"+hasFocus);57 }58 });59 60 }61 }62 /** 63 使用到的方法:64 1.setAdapter()方法:这里要传递的...

    1 packagecom.bwf.a4_autocompletetextview;2

    3 importandroid.os.Bundle;4 importandroid.app.Activity;5 importandroid.util.Log;6 importandroid.view.Menu;7 importandroid.view.View;8 importandroid.view.View.OnFocusChangeListener;9 importandroid.widget.Adapter;10 importandroid.widget.ArrayAdapter;11 importandroid.widget.AutoCompleteTextView;12 /**

    13 * 使用到的方法:14 1.setAdapter()方法:这里要传递的adapter参数必须是继承ListAdapter和Filterable的,15 其中arrayAdapter和simpleAdapter都能满足要求,我们常用arrayAdapter,16 因为他不需要像simpleAdapte那样设置他的显示位置和textview组件。17 2.setDropDownHeight方法 ,用来设置提示下拉框的高度,注意,这只是限制了提示下拉框的高度,提示数据集的个数并没有变化18 3.setThreshold方法,设置从输入第几个字符起出现提示19 4.setCompletionHint方法,设置提示框最下面显示的文字20 5.setOnFocusChangeListener方法,里面包含OnFocusChangeListener监听器,设置焦点改变事件21 6.showdropdown方法,让下拉框弹出来22 **/

    23 public class MainActivity extendsActivity {24 AutoCompleteTextView ac_edt;25 ArrayAdapter adapter;26

    27 @Override28 protected voidonCreate(Bundle savedInstanceState) {29 super.onCreate(savedInstanceState);30 setContentView(R.layout.activity_main);31

    32 ac_edt =(AutoCompleteTextView) findViewById(R.id.ac_edt);33

    34 //获取数组对象

    35 String[] arr =getResources().getStringArray(R.array.select_arr);36 //创建Adapter对象

    37 adapter = new ArrayAdapter(MainActivity.this,38 android.R.layout.simple_list_item_1, android.R.id.text1, arr);39 //将适配器和ac_edt绑定在一起

    40 ac_edt.setAdapter(adapter);41 //下拉列表高度

    42 ac_edt.setDropDownHeight(350);43 //最短2个字符开始提示自动补全

    44 ac_edt.setThreshold(2);45 //列表中的提示性语句

    46 ac_edt.setCompletionHint("符合条件的结果");47 //该控件ac_edt获取或者失去焦点时触发该监听

    48 ac_edt.setOnFocusChangeListener(newOnFocusChangeListener() {49 @Override50 public void onFocusChange(View v, booleanhasFocus) {51 AutoCompleteTextView view =(AutoCompleteTextView) v;52 if(hasFocus) {53 //展示下拉选项

    54 view.showDropDown();55 }56 Log.d("fanhy", "监听,是否获取到焦点:"+hasFocus);57 }58 });59

    60 }61 }62 /**

    63 使用到的方法:64 1.setAdapter()方法:这里要传递的adapter参数必须是继承ListAdapter和Filterable的,65 其中arrayAdapter和simpleAdapter都能满足要求,我们常用arrayAdapter,66 因为他不需要像simpleAdapte那样设置他的显示位置和textview组件。67 2.setDropDownHeight方法 ,用来设置提示下拉框的高度,注意,这只是限制了提示下拉框的高度,提示数据集的个数并没有变化68 3.setThreshold方法,设置从输入第几个字符起出现提示69 4.setCompletionHint方法,设置提示框最下面显示的文字70 5.setOnFocusChangeListener方法,里面包含OnFocusChangeListener监听器,设置焦点改变事件71 6.showdropdown方法,让下拉框弹出来72

    73 没有使用到的方法:74 1.clearListSelection,去除selector样式,只是暂时的去除,当用户再输入时又重新出现75 2.dismissDropDown,关闭下拉提示框76 3.enoughToFilter,这是一个是否满足过滤条件的方法,sdk建议我们可以重写这个方法77 4.getAdapter,得到一个可过滤的列表适配器78 5.getDropDownAnchor,得到下拉框的锚计的view的id79 6.getDropDownBackground,得到下拉框的背景色80 7.setDropDownBackgroundDrawable,设置下拉框的背景色81 8.setDropDownBackgroundResource,设置下拉框的背景资源82 9.setDropDownVerticalOffset,设置下拉表垂直偏移量,即是list里包含的数据项数目83 10.getDropDownVerticalOffset ,得到下拉表垂直偏移量84 11..setDropDownHorizontalOffset,设置水平偏移量85 12.setDropDownAnimationStyle,设置下拉框的弹出动画86 13.getThreshold,得到过滤字符个数87 14.setOnItemClickListener,设置下拉框点击事件88 15.getListSelection,得到下拉框选中为位置89 16.getOnItemClickListener。得到单项点击事件90 17.getOnItemSelectedListener得到单项选中事件91 18.getAdapter,得到那个设置的适配器92 **/

    展开全文
  • 按下"关于..."选项后,会弹出一个对话框,里面会显示"BMI"程序的相关讯息。 本章中将先学习如何处理对话框。 在本章中,我们要产生一个应用程序中常见的"关于"页面。 应用程序的"关于"页面中, 通常要包含版本讯息、...

    加入对话框 我们的程序主功能已经完成了,现在我们要试着让它看起来更像一个完整的应用程序。 接下来的几章,我们要为"BMI"应用程序加上一个选单。选单里面有一个"关于.."选 项 。 按下"关于..."选项后,会弹出一个对话框,里面会显示"BMI"程序的相关讯息。 本章中将先学习如何处理对话框。 在本章中,我们要产生一个应用程序中常见的"关于"页面。 应用程序的"关于"页面中, 通常要包含版本讯息、作者、联络方式、首页等资讯。 我们的"关于"页面将以弹出对话框的方式表现。所需要做的,是撰写负责处理对话框的 "openOptionsDialog"函式,并将之附加在原本应用程序 中"calcBMI"这个按钮元件的 "OnClickListener"方法上。当我们按下 "计算 BMI 值"按钮时,即弹出对话框。 等我们学会了对话框的写法,在接下来学习 Android 选单的章节中,我们会改将对话 框函式放入选单中。 对话框中所能显示的内容千变万化。对 Android 来说,对话框也是一种显示内容 (View)。与一般全页面显示的不同之处,在于对话框会重叠显示到原本的呼叫页面上,而且 在对话框的主要显示内容下方,可 能还会再附加上几个按钮,用以回到原页面,或是用来 执行其他的动作。 要在 Android 程序中呼叫一个对话框,有二个主要步骤: # 定义呼叫点 # 实作对话框 定义呼叫点 修改"Bmi.java" : 代码: Bmi.java 1 private OnClickListener calcBMI = new OnClickListener() 2 { 3 public void onClick(View v) 4 { . .... 6 }else{ 7 view_suggest.setText(R.string.advice_average); 8 } 9 openOptionsDialog(); 我们在"calcBMI"函式的尾端加入一行"openOptionsDialog();",用以在每次计算完 BMI 值并显示建议后,顺便呼叫"关于"对话框。 实作对话框 紧接着"calcBMI"这个"OnClickListener"函式之后,我们实际开始撰写对话框函式。 : 代码: private void openOptionsDialog() { new AlertDialog.Builder(Bmi.this) .setTitle("关于 Android BMI") .setMessage("Android BMI Calc") .show(); 我们来分析这个对话框程序。 首先,显示一个最基本的对话框所需的程序码如下。 : 代码: new AlertDialog.Builder(Bmi.this).show() 我们建立了一个 AlertDialog 对话框类别实体,AlertDialog 呼叫 Builder 方法来预备对 应的界面元件。最后使用 show() 方法来将对话框显示在屏幕上。 透过 : 代码: .setTitle("关于 Android BMI") 我们设定了对话框的标题。 透过 : 代码: .setMessage("Android BMI Calc") 我们设定了对话框的主要内容。 重构 我们把其中用到的字串抽取出来,整理到"res/values/strings.xml"中。 res/values/strings.xml : 代码: <?xml version="1.0" encoding="utf-8"?> .... 关于 Android BMIAndroid BMI Calc/n 作者 gasolin/n/n gasolin+android [at] gmail.com .... 于是 openOptionsDialog 函式变成这样: : 代码: private void openOptionsDialog() { new AlertDialog.Builder(Bmi.this) .setTitle(R.string.about_title) .setMessage(R.string.about_msg) .show(); 打开模拟器,在按下按钮后,我们看到计算出 BMI 值的同时,屏幕上也弹出了一个有 标题的对话框。 加入按钮 目前的对话框中,并没有提供离开对话框的方法。所以我们得按下 "Undo"按钮来离开 对话框,有点不便,所以我们来为这个对话框加入一个"确认"按钮。 : 代码: .setPositiveButton("确认", new DialogInterface.OnClickListener(){ public void onClick( DialogInterface dialoginterface, int i){ } }) "setPositiveButton"、"setNegativeButton" 或 "setNeutralButton" 函式都可以用 来定义按钮,各按钮分别预设代表正面/中立/负面的结果。 上方程序码中定义的"setPositiveButton"里,包含了一个没有作用的对话框界面 (DialogInterface)。 表示当我们按下按钮时,不做任何事就直接退出对话框。 完整对话框函式的程序码如下 代码: private void openOptionsDialog() { new AlertDialog.Builder(Bmi.this) .setTitle(R.string.about_title) .setMessage(R.string.about_msg) .setPositiveButton(R.string.ok_label, new DialogInterface.OnClickListener(){ public void onClick( DialogInterface dialoginterface, int i){ } }) .show(); } } 更详细的对话框使用可参考官方文件 http://code.google.com/android/referenc ... ilder.html 顺道一提 -"Toast "界面元件 对话框的使用模式,限制了使用者得按下某些按键以跳出对话框,才能继续使用原本程 序。如果我们只是要显示一小段提示讯息,而不想打扰使用者的注意力,有没有 更适合的 方法哩? 有的,我们可以把显示方式比较有弹性的对话框拿掉,改为使用简单的 "Toast " 界面元件。"Toast "界面元件的作用是弹出一个讯息框,快速在屏幕上显示一小段讯息。 程序码如下: : 代码: import android.widget.Toast; ... private void openOptionsDialog() { Toast.makeText(Bmi.this, "BMI 计算器", Toast.LENGTH_SHORT).show(); /*new AlertDialog.Builder(this) //注解掉原本的对话框 ... */ } 打开模拟器。我们按下"计算 BMI 值"按钮后,屏幕上不再出现一个对话框,而改成弹 出一段"BMI 计算器"文字讯息,过几秒之后即自动隐去。 整段程序值得注意的一行是 : 代码: Toast.makeText(Bmi.this, "BMI 计算器", Toast.LENGTH_SHORT).show(); 我们对 Toast 元件指定了欲显示文字,与 Toast 元件的显示时间长短 (LENGTH_SHORT,即短讯息),最后与处理对话框一样,呼叫 "show() "方法来将 Toast 元 件显示在屏幕上。 错误处理 解决出错最好的方式就是阻止它们的发生。 虽然在当前的程序中,我们似乎用不到 Toast 元件。不过,其实我们还是可以巧妙地 运用它。 使用者在输入资料时,难免会出错。而现在我们写好的 BMI 程序中,并没有对使用者 可能的输入错误做处理。 因此在下面的程序改进中,我们使用了 try...catch 语句,与 Toast 元件来做错误处理。 : 代码: DecimalFormat nf = new DecimalFormat("0.00"); try{ double height = Double.parseDouble(field_height.getText().toString())/100; double weight = Double.parseDouble(field_weight.getText().toString()); double BMI = weight / (height * height); //Present result view_result.setText(getText(R.string.bmi_result) + nf.format(BMI)); //Give health advice if(BMI>25){ view_suggest.setText(R.string.advice_heavy); }else if(BMI<20){ view_suggest.setText(R.string.advice_light); }else{ view_suggest.setText(R.string.advice_average); } } catch(Exception err) { Toast.makeText(Bmi.this, "打错了吗?只能输入数字喔", Toast.LENGTH_SHORT).show(); } 讲解 Try { 主要程序流程 } catch(Exception err) { 错误处理流程 } try...catch 语句是 Java 语言的错误处理语句。首先将 "主要的程序流程"包在 try 语句 的两个大括号中执行,如果执行正常,就跳过 catch 语句,继续执行后续的语句。旦是如 果在 try 语句中执行的流程出现错误了,那麽程序流程就会从 try 语句跳到对应的 catch 语句,并开始执行对应的 catch 语句大括号中的"错误处理流程"。 在我们的 BMI 程序中,catch 语句大括号中的"错误处理流程",是简单地在屏幕上显 示一串提示使用者输入错了,应该输入数字的讯息。 : 代码: Toast.makeText(Bmi.this, "打错了吗?只能输入数字喔", Toast.LENGTH_SHORT).show(); 需要在屏幕上显示一串提示时,就是 Toast 元件派上用场的地方。除了所显示的字串 不同之外,整段程序与上一节相同。 重构 为了更好地重用,我们继续把字串提取到"res/values/strings.xml"中 : 代码: .... 打错了吗?只能输入数字喔 然后在程序中使用"R.string.input_error"来取得字串 : 代码: Toast.makeText(Bmi.this, R.string.input_error, Toast.LENGTH_SHORT).show();

    展开全文
  • 使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识。...day081 Swing用户界面组件(六:对话框)(选项对话框、创建对话框、数据交换、文件对话框、颜色选择器) ...
  • 18个解决方案327 votes要防止对话框在按下后退键时被解除,请使用此选项dialog.setCancelable(false);并且为防止对话框在外部触摸时被解雇,请使用此功能dialog.setCanceledOnTouchOutside(false);Singhak answered ...
  • 通常当我扩展JDialog类来创建对话框时,我使用超级(框架)来指定对话框的所有者,以便当您按Alt选项卡时,它们都不会脱节.但是当我使用新的JDialog对话框= new JDialog()创建一个对话框时,我无法将框架指定为对话框的...
  • 下面的示例展示了如何从基于swing的应用程序中的...JOptionPane.showInputDialog() - 显示带有输入选项的消息警报。option - 设置列表的输入。示例package com.yiibai.swingdemo;import java.awt.BorderLayout;impor...
  • 首先简单对话框,分为三部分:标题,内容和下面的按键,先看没有按键的对话框的声明方式: [java] view plaincopyprint? new AlertDialog.Builder(Main.this).setTitle("标题").setMes
  • Java对话框总结

    2017-07-08 20:36:00
    总结起来非常easy: 1,对话框类型:消息。确认,选项。输入 2,选择图标:错误,信息。警告。问题,无或者自己定义 ...5,对于选项对话框,选择选项(字符串,图表或者自己定义组件)和默认选项 ...
  • 我正在使用一种样式来很好地设置我的“警报对话框”的样式,如下所示,其中大多数样式都已设置样式,但是多选项没有发生颜色变化.我也想将复选框设为白色,但不确定如何做到这一点.警报对话框:android.app.AlertDialog....
  • 您必须创建custome confirmBox ,无法更改确认功能显示的对话框中的按钮 .Jquery confirmBox div>是 span>否 span> DIV>函数doConfirm(msg,yesFn,noFn){var confirmBox = $(“#confirmBox”);. ...
  • swing-Java-如何创建自定义对话框?我在JFrame上有一个按钮,单击该按钮后,我希望对话框弹出并带有多个文本区域供用户输入。 我一直在四处寻找解决方法,但我一直感到困惑。 有人可以帮忙吗?6个解决方案80 votes...
  • Java Swing JOptionPane:对话框组件

    千次阅读 2019-03-11 00:15:21
    1 JOptionPane 对话框组件 对话框通常用作从用户处...JOptionPane 类可以用来创建 4 种类型的标准对话框:确认对话框、消息对话框、输入对话框和选项对话框。 1.1 确认对话框 确认对话框显示消息,并等待用户单击...
  • 我创建了一个JOptionPane,它只有两个按钮YES_NO_OPTION。JOptionPane.showConfirmDialog弹出后,我想单击YES BUTTON继续打开JFileChooser,如果我单击否按钮,它应该取消操作。这看起来很容易,但我不知道我的错误...
  • 它负责确定/取消选项的放置和本地化,并且是一种快速而又脏的方式来显示自定义对话框,而不需要定义自己的类。大多数时候,JOptionPane中的“message”参数是一个String,但是您也可以传递JComponent或JComponent...
  • Java对话框(JDialog类和JOptionPane类)

    千次阅读 2018-02-06 16:49:52
    对话框是为了人机对话过程提供交互模式的工具。应用程序通过对话框,或给用户提供信息,或从用户获得信息。...JOptionPane类给一些常见的对话框提供许多便于使用的选项,例如,简单的“yes-no”对话框等。 JD
  • 选项对话框。 确认对话框 确认对话框显示消息,并等待用户单击“确定”按钮来取消对话框,该对话框不返回任何值。而确认对话框询问一个问题,需要用户单击合适的按钮做出响应。确认对话框返回对应被选按钮的值。 ...
  • V 4.5.6001.22159msiexec /Option [Optional Parameter]安装选项安装或配置产品/a对话框中内容如下:Windows (R) Installer. V 4.5.6001.22159msiexec /Option [Optional Parameter]安装选项安装或配置产品/a管理...
  • 当csv数据被拖动到图形选项卡时,我有一个应用程序,数据将在jquery对话框扩展中显示为图形 . 一切正常 . 如果单击关闭按钮,对话框将按预期关闭 . 但是,使用chart.js构建的图形不会被破坏 . 就像我再次将数据拖放...
  • 对话框是为了人机对话过程提供交互模式的工具。应用程序通过对话框,或给用户提供信息,或从用户获得信息。...JOptionPane类给一些常见的对话框提供许多便于使用的选项,例如,简单的“yes-no”对话框等。 JD
  • 它负责OK /Cancel选项的放置和本地化,并且是一种无需定义自己的类即可显示自定义对话框的快捷方法。大多数情况下,JOptionPane中的“message”参数是一个字符串,但是您也可以传入JComponent或JComponents数组。例...
  • 这是我的根对话框,所以如果用户选择第一个选项,那么我想将他发送到CreateContact我在下面添加的对话框,如果用户选择GetContact要么SendMail然后我会将他发送到相应的Dialog,但我无法在完成或选择第一个Dialog时...
  • 下面的示例展示了如何从基于swing的应用程序中...JOptionPane.showInputDialog() - 显示带有输入选项的消息警报。options(null) - 在输入框中显示文本框。示例package com.yiibai.swingdemo;import java.awt.BorderL...
  • 按下"关于..."选项后,会弹出一个对话框,里面会显示"BMI"程序的相关讯息。 本章中将先学习如何处理对话框。 在本章中,我们要产生一个应用程序中常见的"关于"页面。 应用程序的"关于"页面中, ...
  • package choice;.../*java选项面板类*/ import javax.swing.JOptionPane; /** * *对话框示例 * */ public class Dialogo { public static void main(String[] args) { //参数1:对话框的父窗体
  • 面代码将打开一个如下图所示的选项列表对话框: final String[] items = {“java”, “.net”, “php”}; new AlertDialog.Builder(SenderNotificationActivity.this).setTitle(“选择语言”) .setItems(items, ...
  • Android-创建带多选项列表的对话框

    千次阅读 2012-11-22 14:29:57
    下面代码将打开一个如右下图所示的多选项列表对话框: final String[] items = {"java", ".net", "php"}; new AlertDialog.Builder(SenderNotificationActivity.this).setCancelable(false) .setTitle("选择...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 969
精华内容 387
关键字:

java选项对话框

java 订阅