理论上应该出现“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中文.chm`的文件,这是一个帮助文档,用中文详细介绍了Java 1.7版本的API。 Java API文档对于任何Java开发者来说都是不可或缺的资源,特别是对于初学者而言,它可以帮助理解...
这个“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版零积分免费下载jdk...
**Linux_jdk1.7** 是一个专门为Linux操作系统编译的Java Development Kit(JDK)版本1.7,它包含了开发和运行Java应用程序所需的全部工具。这个版本是为CentOS 6.5这样的Linux发行版设计的,经过测试,可以在该环境...
### JAVA帮助文档全系列_JDK1.5_、JDK1.6、_JDK1.7_官方中英完整版下载 #### 概述 本文档提供了JDK(Java Development Kit)不同版本的下载链接及其相关介绍。JDK作为Java开发的核心组件,对于Java程序员来说至关...
Java JDK 1.7,全称为Java Development Kit version 7,是Oracle公司推出的Java编程语言的开发工具包,主要用于编写、编译、测试和运行Java应用程序。这个版本的JDK在2012年发布,引入了许多新特性,提升了性能,并...
JDK 1.7,也被称为Java SE 7(Java Standard Edition 7),是Java的一个重要版本,发布于2011年。这个版本引入了许多新特性、改进和优化,旨在提升开发者的效率和程序的性能。 1. **动态类型语言支持**: JDK 1.7 ...
2. JDK 1.7(也称为JDK 7):这是Java发展历程中的一个重要里程碑,发布于2011年。它引入了许多新特性,例如: - 并发改进:Fork/Join框架,使得多线程处理变得更加高效。 - Type Inference for Generic Instance ...
这个压缩包"JDK 1.7.zip"包含了所有这些组件,便于开发者在本地环境中安装和使用。 **JDK 1.7的关键特性** 1. **多语言支持**:JDK 1.7引入了对JavaScript、Python等其他语言的实验性支持,使得Java平台能够更好地...
2. **开关语句(Switch on String)**:在JDK 1.7之前,switch语句仅支持枚举和整型,但在这个版本中,字符串也被添加到支持的类型中。 3. **多catch块**:允许在一个catch子句中捕获多种异常类型,减少了冗余代码...
JDK1.7,也被称为Java SE 7(Java Standard Edition 7),是Oracle公司在2011年发布的一个重要版本,引入了许多新特性和改进。在此,我们将深入探讨JDK1.7的一些关键知识点。 1. **动态类型**:JDK1.7引入了` ...
java_jdk1.7api帮助文档,大家学Java的可以下载参考,资源共享。学java的必备api帮助文档。
### jdk1.7_64免安装版本百度云下载 #### JDK 1.7 (Java Development Kit) 概述 JDK(Java Development Kit),即Java开发工具包,是Sun Microsystems(已被Oracle公司收购)针对Java语言开发的一款功能强大的软件...
在给定的标题“jdk1.7 jdk1.7 jdk1.7”中,反复提及的“1.7”指的是Java的第七个主要版本,也被称为Java 7。这个版本在2011年发布,为开发者带来了许多新特性和改进,旨在提高开发效率和程序性能。 **一、JDK 1.7的...
在JDK 1.7之前,Java程序员需要为每种可能抛出的异常分别写一个catch块。1.7引入了多catch语句,允许开发者在一个catch块中处理多个不同类型的异常,提高了代码的可读性和简洁性。 ```java try { // 代码块 } ...
"免安装版"意味着这个版本的JDK不需要通过传统的安装过程,而是可以直接解压到指定目录并开始使用,这为开发者提供了更便捷的部署方式。 1. **新特性与改进** - **类型推断(Type Inference)**: Java 7引入了`<>`...
《Java_JDK1.7api开发手册》是Java开发者的重要参考资料,它详尽地阐述了JDK1.7版本中的各种API(应用程序编程接口)及其用法。此手册旨在帮助开发者充分利用Java 7的功能,提高代码质量和效率。下面将对其中的关键...
Burp_Suite_Pro_v1.7.36专业版(含CSDN教程)
Java开发,JDK_1.7,64位,windows;java的jdk安装包旧版本,从sun的官网上下载的最新版本
IBM JDK 1.7 for Windows x64 是IBM公司针对Java Development Kit (JDK)的一个特定版本,专门设计用于64位的Windows操作系统。这个版本的JDK是Java编程语言和平台的重要组成部分,它提供了开发和运行Java应用程序所...