- Java 编程范例
- 范例 - 首页
- 范例 - 环境
- 范例 - 字符串
- 范例 - 数组
- 范例 - 日期和时间
- 范例 - 方法
- 范例 - 文件
- 范例 - 目录
- 范例 - 异常
- 范例 - 数据结构
- 范例 - 集合
- 范例 - 网络
- 范例 - 多线程
- 范例 - 小应用程序
- 范例 - 简单 GUI
- 范例 - JDBC
- 范例 - 正则表达式
- 范例 - Apache PDFBox
- 范例 - Apache POI PPT
- 范例 - Apache POI Excel
- 范例 - Apache POI Word
- 范例 - OpenCV
- 范例 - Apache Tika
- 范例 - iText
- Java 教程
- Java - 教程
- Java 实用资源
- Java - 快速指南
- Java - 实用资源
如何使用 Java 在矩形中显示字符串
问题描述
如何在矩形中显示字符串?
解决方案
以下范例演示了如何使用 drawRect() 方法在每个字符周围绘制矩形,从而在矩形中显示每个字符。
import java.awt.*; import javax.swing.*; public class Main extends JPanel { public void paint(Graphics g) { g.setFont(new Font("",0,100)); FontMetrics fm = getFontMetrics(new Font("",0,100)); String s = "message"; int x = 5; int y = 5; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); int h = fm.getHeight(); int w = fm.charWidth(c); g.drawRect(x, y, w, h); g.drawString(String.valueOf(c), x, y + h); x = x + w; } } public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setContentPane(new Main()); frame.setSize(500, 700); frame.setVisible(true); } }
结果
上面的代码范例将产生以下结果。
Each character is displayed in a rectangle.
以下为另一个显示字符串在矩形中的范例。
import java.awt.Color; import java.awt.Graphics; import javax.swing.JComponent; import javax.swing.JFrame; class MyCanvas extends JComponent { String s = "message"; int x = 45; int y = 45; public void paint(Graphics g) { g.drawRect (10, 10, 200, 200); g.setColor(Color.red); g.drawString(s, x, y); } } public class Panel { public static void main(String[] a) { JFrame window = new JFrame(); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setBounds(30, 30, 300, 300); window.getContentPane().add(new MyCanvas()); window.setVisible(true); } }
上面的代码范例将产生以下结果。
Each character is displayed in a rectangle.
java_simple_gui.htm
广告