`
飞翔的猪
  • 浏览: 13969 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

为什么执行结果是这个样子_JDK1.7

阅读更多
理论上应该出现“Hello World!”的字样,怎么执行结果是这个样子,不解
package com.practice.test;
import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.awt.geom.Ellipse2D.Double;

import javax.swing.*;
/**
 * 测试字体相关
 * @author KangMing
 * @version 1.7 2014-09-03
 */
public class FontTest {
	public static void main(String[] args){
		EventQueue.invokeLater(new Runnable(){
			public void run(){
				FontFrame frame = new FontFrame();
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				frame.setVisible(true);
			}
		});
		
	}
}
/**
 * A frame with a text message component
 *
 */
class FontFrame extends JFrame{
	public FontFrame(){
		setTitle("FontTest");
		setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
		
		//将组件加到框架中
		FontComponent component = new FontComponent();
		add(component);		
	}
	
	public static final int DEFAULT_WIDTH = 300;
	public static final int DEFAULT_HEIGHT = 200;
}

class FontComponent extends JComponent{
	public void FontComponent(Graphics g){
		Graphics2D g2 = (Graphics2D) g;
		
		String message = "Hello World!";
		
		Font f = new Font("Serif", Font.BOLD, 36);
		g2.setFont(f);
		
		//measure the size of the message
		
		FontRenderContext context = g2.getFontRenderContext();
		Rectangle2D bounds = f.getStringBounds(message, context);
		
		//set(x, y) = top - left corner of text
		
		double x = (getWidth() - bounds.getWidth()) / 2;
		double y = (getHeight() - bounds.getHeight()) / 2;
		
		//add ascent to y to reach the baseline
		
		double ascent = -bounds.getY();
		double baseY = y + ascent;
		
		//draw the message
		
		g2.drawString(message, (int) x, (int) baseY);
		g2.setPaint(Color.LIGHT_GRAY);
		
		//draw the baseline
		
		g2.draw(new Line2D.Double(x, baseY, x + bounds.getWidth(),baseY));
		
		//draw the enclosing rectangle
		
		Rectangle2D rect = new Rectangle2D.Double(x, y, bounds.getWidth(),bounds.getHeight());
		g2.draw(rect);
		
	}
}

  • 大小: 14.1 KB
分享到:
评论

相关推荐

    JAVA_API_1.7中文.zip_JDK API_java1.7_jdk 1.7_jdk 1.7 api_jdk-7

    这个压缩包包含了一个名为`JAVA_API_1.7中文.chm`的文件,这是一个帮助文档,用中文详细介绍了Java 1.7版本的API。 Java API文档对于任何Java开发者来说都是不可或缺的资源,特别是对于初学者而言,它可以帮助理解...

    ssh_jdk1.7+tomcat8.5环境配置完整版

    这个“ssh_jdk1.7+tomcat8.5”的压缩包应该包含了所有必要的文件和配置,可以帮助开发者快速建立SSH框架的开发环境,省去了单独下载和配置每个组件的麻烦。只要按照一定的步骤进行操作,即使对SSH不熟悉的开发者也能...

    jdk1.7_linux Linux版零积分免费下载

    jdk1.7_linux Linux版零积分jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk...

    Linux_jdk1.7

    **Linux_jdk1.7** 是一个专门为Linux操作系统编译的Java Development Kit(JDK)版本1.7,它包含了开发和运行Java应用程序所需的全部工具。这个版本是为CentOS 6.5这样的Linux发行版设计的,经过测试,可以在该环境...

    JAVA帮助文档全系列_JDK1.5_、JDK1.6、_JDK1.7_官方中英完整版下载

    ### JAVA帮助文档全系列_JDK1.5_、JDK1.6、_JDK1.7_官方中英完整版下载 #### 概述 本文档提供了JDK(Java Development Kit)不同版本的下载链接及其相关介绍。JDK作为Java开发的核心组件,对于Java程序员来说至关...

    java jdk 1.7官网免安装版本

    Java JDK 1.7,全称为Java Development Kit version 7,是Oracle公司推出的Java编程语言的开发工具包,主要用于编写、编译、测试和运行Java应用程序。这个版本的JDK在2012年发布,引入了许多新特性,提升了性能,并...

    JAVA_JDK_1.7

    JDK 1.7,也被称为Java SE 7(Java Standard Edition 7),是Java的一个重要版本,发布于2011年。这个版本引入了许多新特性、改进和优化,旨在提升开发者的效率和程序的性能。 1. **动态类型语言支持**: JDK 1.7 ...

    java-JDK.rar_jdk_jdk 1.7_jdk 7

    2. JDK 1.7(也称为JDK 7):这是Java发展历程中的一个重要里程碑,发布于2011年。它引入了许多新特性,例如: - 并发改进:Fork/Join框架,使得多线程处理变得更加高效。 - Type Inference for Generic Instance ...

    jdk1.7版本免安装

    2. **开关语句(Switch on String)**:在JDK 1.7之前,switch语句仅支持枚举和整型,但在这个版本中,字符串也被添加到支持的类型中。 3. **多catch块**:允许在一个catch子句中捕获多种异常类型,减少了冗余代码...

    JDK 1.7压缩包.zip

    这个压缩包"JDK 1.7.zip"包含了所有这些组件,便于开发者在本地环境中安装和使用。 **JDK 1.7的关键特性** 1. **多语言支持**:JDK 1.7引入了对JavaScript、Python等其他语言的实验性支持,使得Java平台能够更好地...

    JDK1.7免安装版

    "免安装版"意味着这个版本的JDK不需要通过传统的安装过程,而是可以直接解压到指定目录并开始使用,这为开发者提供了更便捷的部署方式。 1. **新特性与改进** - **类型推断(Type Inference)**: Java 7引入了`<>`...

    jdk1.7安装包下载

    JDK1.7,也被称为Java SE 7(Java Standard Edition 7),是Oracle公司在2011年发布的一个重要版本,引入了许多新特性和改进。在此,我们将深入探讨JDK1.7的一些关键知识点。 1. **动态类型**:JDK1.7引入了` ...

    java_jdk1.7api帮助文档

    java_jdk1.7api帮助文档,大家学Java的可以下载参考,资源共享。学java的必备api帮助文档。

    jdk1.7 jdk1.7 jdk1.7

    在给定的标题“jdk1.7 jdk1.7 jdk1.7”中,反复提及的“1.7”指的是Java的第七个主要版本,也被称为Java 7。这个版本在2011年发布,为开发者带来了许多新特性和改进,旨在提高开发效率和程序性能。 **一、JDK 1.7的...

    JDK.rar_jdk1.7

    在JDK 1.7之前,Java程序员需要为每种可能抛出的异常分别写一个catch块。1.7引入了多catch语句,允许开发者在一个catch块中处理多个不同类型的异常,提高了代码的可读性和简洁性。 ```java try { // 代码块 } ...

    Java_JDK1.7api开发手册

    《Java_JDK1.7api开发手册》是Java开发者的重要参考资料,它详尽地阐述了JDK1.7版本中的各种API(应用程序编程接口)及其用法。此手册旨在帮助开发者充分利用Java 7的功能,提高代码质量和效率。下面将对其中的关键...

    java_jdk_1.7

    Java开发,JDK_1.7,64位,windows;java的jdk安装包旧版本,从sun的官网上下载的最新版本

    Burp_Suite_Pro_v1.7.36专业版(含CSDN教程)

    Burp_Suite_Pro_v1.7.36专业版(含CSDN教程)

    ibm_jdk1.7.0_x64.zip

    IBM JDK 1.7 for Windows x64 是IBM公司针对Java Development Kit (JDK)的一个特定版本,专门设计用于64位的Windows操作系统。这个版本的JDK是Java编程语言和平台的重要组成部分,它提供了开发和运行Java应用程序所...

    JDK_1.7_Linux32bit 百度云下载

    本资源"JDK_1.7_Linux32bit 百度云下载"提供的是适用于32位Linux系统的JDK 1.7版本。JDK 1.7,也被称为Java 7,是Oracle公司在2011年发布的一个重要版本,引入了许多新特性,增强了Java平台的功能。 在Java开发中,...

Global site tag (gtag.js) - Google Analytics