java SE编写图形应用程序
借鉴了java 核心技术卷1 并参考http://www.jb51.net/article/56158.htm 添加了JTextField的使用。
##################################################################################################
package com;
import java.awt.Dimension;
import java.awt.Graphics; //添加graphics对象
import javax.swing.JComponent;
public class NotHelloWorldComponent extends JComponent {
/**
*
*/
private static final long serialVersionUID = 1L;
//定义参数
public static final int MESSAGE_X=75;
public static final int MESSAGE_Y=100;
private static final int DEFAULT_WIDTH=300;
private static final int DEFAULT_HEIGHT=500;
//绘图方法
public void paintComponent(Graphics g){
g.drawString("Not a Hello,World program", MESSAGE_X, MESSAGE_Y);
}
//覆盖getPreferredSize方法,返回组件大小 Dimension对象
public Dimension getPreferredSize(){
return new Dimension(DEFAULT_WIDTH,DEFAULT_HEIGHT);
}
}
##################################################################################################
添加JFrame框架
package com;
import javax.swing.* ; //导入swing包
import java.awt.*; //导入awt包
public class McStart extends JFrame{ //继承JFrame
private static final long serialVersionUID = 1L;
public McStart(){ //构造函数
add(new NotHelloWorldComponent()); //添加JComponent组件
pack();
Toolkit kit=Toolkit.getDefaultToolkit(); //获取Tookit
Dimension screenSize=kit.getScreenSize(); //getScreenSize方法,类型为Dimension
int screenHight=screenSize.height; //取hight
int screenWidth=screenSize.width; //取width
//设置窗口宽和高
setSize(screenHight/2,screenWidth/2);
setLocationByPlatform(true);
//设置图片,先new一个对象并传入参数后赋予set函数
Image img=new ImageIcon("icon.gif").getImage();
setIconImage(img); //设置标题栏,任务栏以及切换窗口等位置显示的图标
}
}
#####################################################################################################
主函数:
package com;
import java.awt.EventQueue;
import javax.swing.JFrame;
public class SizeFrameTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
EventQueue.invokeLater(new Runnable() //匿名内部类,实现run方法,事件分派线程
{
public void run()
{
JFrame frame=new McStart(); //实例化一个McStart对象
frame.setTitle("McStart"); //设置窗口标题栏的文字
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //响应用户动作,关闭框架的显示 详情见P259
frame.setVisible(true); //显示组件
}
});
}
}
###################################################################################################
java SE编写图形应用程序的更多相关文章
- mac下需要安装旧 Java SE 6 才能打开程序解决办法
今天我在mac系统下面安装myeclipse2014(myeclipse-pro-2014-GA-offline-installer-macosx.dmg)的时候,发现显示错误: 您需要安装旧 Jav ...
- Java记事本编写第一个程序“你好,世界”
- 第二次作业利用java语言编写计算器进行四则运算
随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...
- java se系列(一)开发前奏
1. 软硬件知识 电子计算机:俗称电脑,是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机 cpu:是一台计算机的运算核心和控制核 ...
- Java编写画图板程序细节-保存已画图形
没有Java编写画图板程序细节-保存已画图形 一.为何我们要保存画图板上已画图形呢? 有很多人会问,为什么我们一定要保存画图板上已经画好了的图形呢?原因很简单.当我们在画图板上画完自己想画的图形后 ...
- 黑马程序员 ——Java SE(1)
----<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训 ...
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
演示TCP的传输的客户端和服务端的互访 需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息. 客户端: 1.建立Socket服务,指定要连接方朵和端口 2.获取Socket流中的输出流,将数 ...
- Java入门——编写并运行第一个程序
Java入门——编写并运行第一个程序 摘要:本文主要介绍如何使用Java语言编写并通过DOS运行简单的程序. 编写简单的程序 在D盘新建一个文本文档,输入如下代码: class Hello { pub ...
- JAVA记事本的图形用户界面应用程序含过滤
JAVA记事本的图形用户界面应用程序 过滤 题目简介: 整体分析: 实验代码: package note; import java.awt.EventQueue; import java.awt.ev ...
随机推荐
- java如何在eclipse编译时自动生成代码
用eclipse写java代码,自动编译时,如何能够触发一个动作,这个动作是生成本项目的代码,并且编译完成后,自动生成的代码也编译好了, java编辑器中就可以做到对新生成的代码的自动提示? 不生成代 ...
- Python第三方包的安装和管理
要想安装第三方的包,首先安装setuptools. 然后再安装pip,这个是用来管理第三方包的. 1. 包管理器pip,安装第三方包,以Selenium为例,运行 pip install seleni ...
- mysql 基础列题
1:emp表中查询公司总共有几个部门注意,会查询出来大量重复的,使用函数distinctselect distinct job from scott.emp; 2:查询公司工资在1000-3000之间 ...
- (转) Deep Learning Research Review Week 2: Reinforcement Learning
Deep Learning Research Review Week 2: Reinforcement Learning 转载自: https://adeshpande3.github.io/ad ...
- 在树莓派(Raspberry Pi)上编译安装更新版本的Python
Raspiban Wheezy上预装的Python3版本是3.2.3,本文将介绍升级到3.4.3的方法. 此文也适用于安装其它版本(比如最新版本)的Python. 我用的是B+型的树莓派,装的系统是2 ...
- catalog备份数据库及RMAN存储脚本
环境说明: 提前配置好两个库的监听与tnsnames.oraIP:10.100.25.13 为目标数据库 IP:10.100.25.14 为恢复目录数据库(catalog database) 以下操 ...
- 移动支持 – ASP.NET MVC 4 系列
目前,有各种各样的方法可以提高网站应用程序的移动体验.在某些情况下,我们只想在小规格上做一些微小的风格变化:另一些情况下,我们可能完全改变外观显示或者一些视图的内容:最极端的情况下,我们 ...
- Selenium2入门(二)WebDriver
前文Selenium2入门(一)说到Selenium是Web 应用程序测试框架,那么如果对一个简单的web应用需求:打开浏览器,登录百度首页,输入“欧洲杯”关键词,点击搜索按钮 这一系列操作,能否用S ...
- thinkphp关闭调试模式(APP_DEBUG => false),导致程序出错
thinkphp关闭调试模式(APP_DEBUG => false),导致程序出错,开启调试模式,不报错,怎么解决? 查看Logs日志记录: [ --29T09::+: ] 113.108.11 ...
- Python mysql 操作小类,供大家用用
import binascii import os import linecache import time #add pyDes path #sys.path.append("/data1 ...