上一节主要是讨论小的应用程序,在这里我们将采用一种全新的方式来重新编写它。

在这里我们注重关注JFrame和JOptionPane。这些类提供了在JAVA应用程序使用图形的方法以及在JAVA程序中对I/O进行窗口展示的方法。

首先是命名常量,虽然看起来是相对更加的复杂了,但是它可以让我们更清晰明确的指定约束。例如:public static final int Y_LEET_EYE = Y_RIGHT_EYE;

保证两个眼睛从现在相同的水平线上,当你要进行调整是只要相对应的调整这个对应的数值就可以了。

使用JFrame类创建JAVA GUI应用程序

图形用户界面或称为GUI就是用于程序的一个窗口化界面。小应用程序是一种运行在Web页面的GUI。要得到能够在正常JAVA应用程序运行的GUI(窗口化界面),你要能够使用类JFrame而不是JApplet。本章将提供一个将小应用程序转换为应用程序的模板。

import javax.swing.JApplet;

要求更改为import javax.swing.JFrame;

还要更改一个extends JApplet为extends JFrame

创建一个构造函数,这里以类名为HappyFace为例:

pubilc HappyFace(){

  setSize(600,400);              //创建一个窗口,也可以用来设置小应用程序的大小,一般是不实用的。

  setDefaultCloseOperation(EXIT_ON_CLOSE);//告诉JAVA,如果窗口被关闭,那么退出程序

}

然后在使用时是要求通过main函数进行调用的,后期将会对这些细节进行解释。

pubilc static void main(String [] args){

  HappyFace guiwindow = new HappyFace();

  guiwindow.setVisible(true);

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

对JOptionPane类的讨论

唯一的缺陷是不能像使用小程序一样来运行它。

package 一个事例图形小应用程序;
import javax.swing.JOptionPane;

public class studymap {
public static void main(String [] args){
String appleString = JOptionPane.showInputDialog("输入第一个数字");
int appletCount = Integer.parseInt(appleString);

String orangeString = JOptionPane.showInputDialog("输入第二个数字");
int orangeCount = Integer.parseInt(orangeString);

int totalFruitCount = appletCount + orangeCount;
JOptionPane.showMessageDialog(null,"the total is "+totalFruitCount);

System.exit(0);
}
}

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

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

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

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

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

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

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

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

    上面我们讲述了通过JOptionPane进行文本I/O操作,一个是通过JOptionPane来获取的 参考链接:http://blog.sina.com.cn/s/blog_993d254201013 ...

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

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

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

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

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

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

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

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

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

    Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构 ...

随机推荐

  1. 常用JS调试工具使用方法,帮你快速定位问题(Firebug+ IE“开发人员工具”)

    来源: 这里花了点时间小结了下目前项目中比较合适易于上手的JS调试工具.方法.优点与不足以及一些调试相关功能要点或策略,分享给同学们,只当抛砖引玉了,欢迎大家讨论补充. 一.Firebug:如果项目可 ...

  2. The Linux Storage Stack Diagram 内核 4.0 版的 I/O 栈

  3. JPA 系列教程10-双向一对一关联表

    双向一对一关联表的ddl语句 CREATE TABLE `t_person` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255 ...

  4. redis2--redis安装

    (1)安装Redis Redis目前只支持Linux系统,因为开发此软件的创始者认为,Redis是为后台数据服务的,所以认为该软件使用在纯净的服务环境下,而不是应用型操作系统下,而Linux作为服务器 ...

  5. C/C++宏定义中#与##区别 .

    // #表示:对应变量字符串化// ##表示:把宏参数名与宏定义代码序列中的标识符连接在一起,形成一个新的标识符 #define U_BOOT_CMD_MKENT_COMPLETE(name,maxa ...

  6. 十四、oracle 数据库管理--管理表空间和数据文件

    一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...

  7. python 字符转换

    我们所看到的“明文字符串”,都是经过编码(比如ASCII.Uncoded.UTF-8.GB-2312等)后呈现在我们面前的. 文本中“3082”想要“所见到所得”到内存中处理,必须decode('he ...

  8. web开发路径问题

    1. web开发路径问题总结: http://www.cnblogs.com/tianguook/archive/2012/08/31/2665755.html 2. JSP/SERVLET 路径问题 ...

  9. Windows线程同步(下)

    线程同步三:事件 CreateEvent:Creates or opens a named or unnamed event object. HANDLE WINAPI CreateEvent( _I ...

  10. SQLite : 解决“找不到请求的 .Net Framework 数据提供程序。可能没有安装”的问题

     在使用subsonic 3时,如果不完整安装SQLite的SDK包,直接在项目中使用System.Data.SQLite将引发上述错误. 原因是:是 DBproviderfacotories 没有导 ...