上面我们讲述了通过JOptionPane进行文本I/O操作,一个是通过JOptionPane来获取的

参考链接:http://blog.sina.com.cn/s/blog_993d254201013pgh.html#cmt_3339216

JOptionPane类

 

1、属于javax.swing 包。

2、功能:定制四种不同种类的标准对话框。

ConfirmDialog 确认对话框。提出问题,然后由用户自己来确认(按"Yes"或"No"按钮)

InputDialog 提示输入文本

MessageDialog 显示信息

OptionDialog 组合其它三个对话框类型。

3、这四个对话框可以采用showXXXDialog()来显示。如:

showConfirmDialog() 显示确认对话框、

showInputDialog() 显示输入文本对话框、

showMessageDialog() 显示信息对话框、

showOptionDialog() 显示选择性的对话框。

4、参数说明。  

(1)ParentComponent:指示对话框的父窗口对象,一般为当前窗口。

也可以为null即采用缺省的Frame作为父窗口,此时对话框将设置在屏幕的正中。
 (2)message:指示要在对话框内显示的描述性的文字
 (3)String title:标题条文字串。
 (4)Component:在对话框内要显示的组件(如按钮)
 (5)Icon:在对话框内要显示的图标
 (6)messageType(图标):

ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、

QUESTION_MESSAGE、PLAIN_MESSAGE、
 (7)optionType:对话框底部显示的按钮选项。

DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION。

5、使用实例:
(1) 显示MessageDialog

JOptionPane.showMessageDialog( null , "要显示的信息内容" ,"标题" , JOptionPane.ERROR_MESSAGE) ;

(2) 显示ConfirmDialog

JOptionPane.showConfirmDialog( null , "message" , "标题", OptionPane.YES_NO_OPTION ) ;

(3) 显示OptionDialog:

该种对话框可以由用户自己来设置各个按钮的个数并返回用户点击各个按钮的序号(从0开始计数)

Object[] options = {"查询","存款","取款","退出"};

int response=JOptionPane.showOptionDialog ( null, " 选择业务类型","ATM 取款机",JOptionPane.YES_OPTION ,JOptionPane.PLAIN_MESSAGE,

null, options, options[0] ) ;

if (response == 0)

{JOptionPane.showMessageDialog(null,"您按下了查询按钮");}

else if(response == 1)

{JOptionPane.showMessageDialog(null,"您按下了存款按钮");}

else if(response == 2)

{JOptionPane.showMessageDialog(null,"您按下了取款按钮");}

else if(response == 3)

{JOptionPane.showMessageDialog(null,"您按下了退出按钮");}

(4) 显示InputDialog 以便让用户进行输入

String inputValue = JOptionPane.showInputDialog("Please input a value");

(5) 显示InputDialog 以便让用户进行选择地输入

Object[] possibleValues = { "First", "Second", "Third" } ;

//用户的选择项目

Object selectedValue = JOptionPane.showInputDialog(null,

"Choose one", "Input", JOptionPane.INFORMATION_MESSAGE ,

null, possibleValues , possibleValues[0]);

setTitle (" 您按下了 " + (String)selectedValue+"项目") ;}

那么当我们将图形框绘制出来后我们就应该要对它进行上色了。

 package 一个事例图形小应用程序;
import javax.swing.JApplet;
import java.awt.Color;
import java.awt.Graphics; public class 绘制图形 extends JApplet{
public void paint(Graphics canvas){
canvas.setColor(Color. yellow);
canvas.drawOval(100,50,200,200);
canvas.setColor(Color.BLACK);
canvas.fillOval(155, 100, 10, 20);
canvas.setColor(Color.BLUE);
canvas.fillOval(230,100,10,20);
canvas.setColor(Color.RED);
canvas.drawArc(150, 160, 100, 50, 180, 180);
}
}

在这里我们是使用了setColor方法,canvas.setColor(Color.yellow);是将颜色设置为黄色。

java工程开发之图形化界面之(第三课)的更多相关文章

  1. java工程开发之图形化界面之(第二课)

    上一节主要是讨论小的应用程序,在这里我们将采用一种全新的方式来重新编写它. 在这里我们注重关注JFrame和JOptionPane.这些类提供了在JAVA应用程序使用图形的方法以及在JAVA程序中对I ...

  2. java工程开发之图形化界面之(第一课)

    下面我们先上代码: package 一个事例图形小应用程序; import javax.swing.JApplet; import java.awt.Graphics; public class 绘制 ...

  3. java工程开发之图形化界面之(第五课)

    下面我们将: 一)更加完整的解释Graphics类 二)使用方法来更清晰的重新编写前面图形小应用程序之一 三)介绍一些其他的绘图的方法 四)介绍方法init,它是类似于paint但是用于不同用途的另一 ...

  4. java工程开发之图形化界面之(第四课)

    本节中,我们将创建一个小应用程序,它使用循环生成其图案.我们将使用if语句和setColor方法.同时我们将介绍drawString方法,并使用它在小应用程序窗口中写出文本. 下面的小应用程序是显示一 ...

  5. 黑马程序员:Java基础总结----GUI图形化界面

    黑马程序员:Java基础总结 GUI图形化界面   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流!   GUI(Graphical User Interface)图形化界 ...

  6. PySide——Python图形化界面入门教程(三)

    PySide——Python图形化界面入门教程(三) ——使用内建新号和槽 ——Using Built-In Signals and Slots 上一个教程中,我们学习了如何创建和建立交互widget ...

  7. Java 图形化界面设计(GUI)实战练习(代码)

    关于Java图形化界面设计,基础知识网上可搜,下面简单介绍一下重点概念,然后就由浅入深代码实例. 程序是为了方便用户使用的,Java引入图形化界面编程. 1.JFrame 是容器类 2.AWT 是抽象 ...

  8. 转:二十七、Java图形化界面设计——容器(JFrame)

    转:http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的, ...

  9. 二十七、Java图形化界面设计——容器(JFrame)

    摘自http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计--容器(JFrame) 程序是为了方便用户使用的, ...

随机推荐

  1. linux配置永久ip不生效解决方法

    本文原文来自 http://blog.csdn.net/zymx14/article/details/51472239 linux下使用ifconfig eth0 ip地址可以设置ip地址 ,命令为: ...

  2. Linux查找文件中的字符串命令

    grep -nr 'archermind' -r, --recursive Read all files under each directory, recursively, following sy ...

  3. OpenJDK和JDK的区别

    作者:Aloys寒风链接:https://www.zhihu.com/question/19646618/answer/40621705来源:知乎著作权归作者所有,转载请联系作者获得授权. 使用过LI ...

  4. 注解 @ 或者 Alt+/ 不提示 或者提示 no default propsals 解决方案

  5. HDU 4857 逃生(反向拓扑排序+优先队列)

    ( ̄▽ ̄)" //这题对序号输出有要求,较小的序号优先输出,所以用到优先队列 //优先队列是优先弹出值最大的,所以最后要反向输出结果,才是正确的output #include<iost ...

  6. golang vs java

    http://programmers.stackexchange.com/questions/83780/how-fast-can-go-go In terms of language design, ...

  7. 使用Visual C++编程

    1.Visual C++的主要组件 Visual C++支持遵循C++11语言标准的C++语句,C++11语言标准是在ISO/IEC 14882:2011文档中定义的.Visual C++还没有实现该 ...

  8. Git中的merge命令实现中出现问题及其解决

    Git中的merge命令实现和工作方式 2015年8月17日星期一 丹丹 git代码在合并两个分支的时候总是会出现一下的错误提示,不能正常的完成合并分支,错误提示如图所示: 但是在其他的终端是可以完成 ...

  9. 利用npoi把多个DataTable导入Excel多个sheet中

    { 题外拓展:把datatable插入dataset DataTable fuben = new DataTable();//定义的datatablefuben = table.Tables[0].C ...

  10. UITextfield的一些属性

    //设置左视图 不用设置frame UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@&quo ...