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

###################################################################################################

最新文章

  1. iOS--->微信支付小结
  2. java日历显示年份、月份
  3. 非root用户的SSH免密登录
  4. 无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)
  5. iebugs产生的原因,zoom:1的作用
  6. x-code快捷键
  7. margin和padding那点事及常见浏览器margin padding相关Bug
  8. this绑定
  9. android学习笔记36——使用原始XML文件
  10. map遍历的三种基础用法
  11. ANDROID_MARS学习笔记_S02_009_Animation_Interpolator
  12. android之AlertDialog 点击其他区域自动消失
  13. jquery ajax 提交表单(file && input)
  14. RAID详细介绍
  15. React核心内容归纳总结
  16. linux的特殊符号与正则表达式
  17. emqtt 试用(八)ssl认证 - 代码验证
  18. vue项目中引入mint-ui的方式(全部引入与按需引入)
  19. Java开发笔记(六十八)从泛型方法探究泛型的起源
  20. ElasticSearch(八):elasticsearch.yml配置说明

热门文章

  1. Ext.Net 学习随笔 003 超链接按钮
  2. Python初学的易犯错误
  3. C# SqlBulkCopy
  4. PADS在注册表中的菜单栏数据
  5. web三种跨域请求数据方法
  6. mysql主从复制+读写分离 菜鸟入门
  7. 利用 chrome 做本地HTML5全屏应用
  8. Netty系列之Netty百万级推送服务设计要点
  9. [Doxygen]Doxygen
  10. 【学】React的学习之旅3 - 添加事件(onClick)