借鉴了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); //显示组件
}
});
}
}
###################################################################################################