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

在这里我们注重关注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. Html复杂表头的实现

    实现效果 代码实现

  2. JavaScript 构造函数 prototype属性和_proto_和原型链 constructor属性 apply(),call()和bind() 关键字this

    1.构造函数: 通常构造函数首字母需要大写,主要是为了区别ECMAScript的其它函数.(高程三 P145) 构造函数与其他函数的唯一区别,就在于调用它们的方式不同.只要通过new来调用,任何函数都 ...

  3. 利用redis做频率限制第一篇

    public Result checkRateLimit(String clientIp, int ipTime, int ipCount) { // 每个ip的redis的key都不一样 Strin ...

  4. python 字符转换

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

  5. mybatis------xml的一些规范等

    转与拼接: MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML ...

  6. VBS脚本代码(手工编写---在windows 7上调用系统对话框,来选择文件)

    '=========================================================================='' VBScript Source File - ...

  7. (转) 三个nginx配置问题的解决方案

    今天开启了nginx的error_log,发现了三个配置问题: 问题一: 2011/07/18 17:04:37 [warn] 2422#0: *171505004 an upstream respo ...

  8. Unity 的几种打包姿势(android)

    Unity 版本  4.3.2 图片1 1 默认的工程进行打包 得到的apk为8.1m(net subset) 图片2 2 代码剥离最小 – use mirco mscorlib 图片3 3  从网上 ...

  9. 一个小知识点强引用__strong 弱引用__weak

    __weak的类型的指针是不会影响对象的释放 当系统释放后 会自动的指向nil: __Strong 至少有一个__Strong类型的指针是 对象不会释放  

  10. Docker私有仓库Registry 搭建

    1. 关于Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有 ...