在图形用户界面(GUI)环境中,大体上有两种类型的窗体: 框架窗体(frame window)和对话窗体(dialog window)。 在Java中,我们使用JFrame对象作为框架窗体,使用JDialog对象作为对话窗体。下面来熟悉JOptionPane类的几种常用方法:

1.用于输出的JOptionPane类方法--showMesageDialog()

实例(1)--简单对话窗口实现:

import javax.swing.*;classShowMessage_test{public static voidmain(String[] args){

JFrame jFrame;

jFrame= newJFrame();

jFrame.setSize(400,300);

jFrame.setTitle("I Love Java");

jFrame.setVisible(true);

JOptionPane.showMessageDialog(jFrame,"How are you?");

JOptionPane.showMessageDialog(null, "I'm fine, thanks!");

}

}

运行结果:

左图中,showMessageDialog()方法第一个参数传送的事一个框架对象jFrame,对话窗体显示在框架窗体中间;右图第一个参数传送的是保留字null,则对话显示在屏幕中央。

实例(2)--根据名字显示名和姓:

1 import javax.swing.*;2

3 classShowMessage_test2{4 public static voidmain (String[] args){5 String fullName, firstName, lastName, space;6 fullName = new String("Scott Chen");7 space = new String(" ");8

9 firstName = fullName.substring(0, fullName.indexOf(space));10 lastName = fullName.substring(fullName.indexOf(space)+1, fullName.length());11

12 JOptionPane.showMessageDialog(null, "Your firstname is: " +firstName);13 JOptionPane.showMessageDialog(null, "Your lastName is: " +lastName );14

15 }16 }

程序运行结果如上图所示,符合预期。

2.用于输入的JOptionPane类方法--showInputDialog()

实例(3)--输入带有中间名的姓名并显示简称:

1 import javax.swing.*;2

3 classShowInput_test{4 public static voidmain(String[] args){5 String name, firstName, middleName, lastName, space, shortName;6 space = new String(" ");7

8 name = JOptionPane.showInputDialog(null, "Your name: ");9 firstName = name.substring(0, name.indexOf(space));10

11 name = name.substring(name.indexOf(space)+1, name.length());12 middleName = name.substring(0, name.indexOf(space));13 lastName = name.substring(name.indexOf(space)+1, name.length());14

15 shortName = firstName.substring(0,1) + "." + middleName.substring(0,1) + "." + lastName.substring(0,1);16 JOptionPane.showMessageDialog(null, shortName);17 }18 }

联合使用indexOf和substring方法可以将一个字符串划分为两个字符串,使用两次就可以划分为三个字符串,运行结果如上图,符合预期。

java中JOptionPane类_Java学习之JOptionPane类相关推荐

  1. 浅析java中的死锁_Java学习笔记五十五(死锁问题)

    多线程死锁问题. 我们知道,多线程可以改善系统的资源利用率,并且可以提高程序的运行效率.但是,多线程也带来了新的问题,即:死锁问题. 1.死锁的概念 死锁可以理解为多个线程为了争夺同一个资源,而出现互 ...

  2. java中finally意思_Java学习之finally关键字总结

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...

  3. mysql的char在java中表示为_Java学习篇之-Mysql中varchar门类总结_mysql

    java学习篇之---mysql中varchar类型总结 Mysql中varchar类型总结 今天新做一个项目,需要自己进行数据库设计,发现自己对varchar的用法还不是很熟悉,所以查阅资料总结若下 ...

  4. java中bpmn流程图_Java学习之BPMN知识以及Activiti的流程部署

    BPMN的介绍 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和 ...

  5. Java 中 Integer 源码学习之缓存池了解

    Java 中 Integer 源码学习之缓存池了解 面试题 new Integer(123) 与 Integer.valueOf(123) 的区别? new Integer(123) 每次都会新建一个 ...

  6. Java语言中提供了三个日期类_Java语言学习(5)-Java中基础封装类(日期、时间类)...

    日期和时间封装类 1. Data类 Java日期和时间采用Data类.Data类在java.util包中. Data类构造函数: 1)       Data()   采用当前时间初始化对象: 2)   ...

  7. java 内存类_Java学习——类的生命周期和内存

    常识是本能,有足够的常识便是天才.--肖伯纳 一.类的生命周期 类的生命周期:1.加载:将二进制流加载进来.class 2.连接: 验证:确保加载进来的数据不会损害虚拟机 准备:为类变量分配内存,附默 ...

  8. java中线程总结_java中多线程学习笔记总结

    线程的简单学习笔记: 1.进程与线程的概念 进程:从用户角度看进程是应用程序的一个执行过程. 从操作系统核心角度看进程代表的是操作系统分配的内存和CPU时间片等资源的基本单位,是为正在运行的程序提供的 ...

  9. java中的祖先类_Java程序公共祖先类-Object

    在Java中,所有的类都继承自Object类,它是所有的始祖,但是我们不需要显示的书写extends Object. equals方法 在JDK中,Object类的equals方法的实现如下: pub ...

最新文章

  1. data的值 如何初始化vue_vue data恢复初始化数据的实现方法
  2. HTTP项目1.0 -- HTTP协议基础知识
  3. 接口是什么意思_程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口...
  4. 混合编码种群来进化的最大化目标的单目标优化问题
  5. 《数据管理能力成熟度模型》标准宣贯会在上海召开
  6. ncut算法matlab实现,ncut_multiscale_1_6 经典的图像分割算法 的Matlab代码。 238万源代码下载- www.pudn.com...
  7. Fragment基础讲解
  8. Spring Data JPA 从入门到精通~@NamedQueries预定义查询
  9. 没做性能优化,系统说炸就炸...
  10. u盘安装CENTOS后,启动missing operating system ,只能用U盘才能启动系统
  11. 盘点2012中国承载网十大事件(转)
  12. 进阶06 List集合
  13. 【Shiro第九篇】SpringBoot + Shiro整合JWT
  14. shiro会话监听_Shiro权限控制_(二)_session
  15. Hi3516A开发--电阻分压阻值计算
  16. CDN选择合适的回源策略很重要
  17. SAP 上线 新旧科目映射 辅助核算
  18. dvm_lock_sample 解析
  19. 数据结构与算法学习(第一天)
  20. python实现人脸识别(face_recognition)

热门文章

  1. mysql数据传输完整性_Mysql——数据库完整性
  2. 计算机课计划,计算机教学计划汇总
  3. mysql truncate partition_实战mysql分区(PARTITION)
  4. mysql索引失效_MySQL索引失效的底层原理详解,终于有人讲清楚了
  5. python兼容js base64_前端base64编码的坑
  6. stm32关定时器_STM32F103ZET6的基本定时器
  7. win10 .net framework 3.5 安装报错 0x800F0954问题
  8. mysql重复make_Mysql5.6 make 错误以及解决办法
  9. sql sum 结果集不为零_sql语句分类练习题
  10. 「数据分析」Sqlserver中的窗口函数的精彩应用-问题篇