Graphics/Graphics2D の主なメソッド
* g.drawImage() : 画像を描画 * g.drawString() : 文字列の描画 * g.drawRect() : 四角形の描画 * g.drawRoundRect() : 四角形(角が丸み)の描画
文字列の扱いについて
* 以下の関連記事を参照のことhttp://blogs.yahoo.co.jp/dk521123/36673357.html
サンプル
import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class CustomSwing { public static void main(String[] args) { JFrame frame = new JFrame("BorderLayout Demo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel() { private static final long serialVersionUID = 1L; @Override protected void paintComponent(Graphics g) { super.paintComponent(g); g.setFont(new Font("Serif", Font.BOLD, 36)); FontMetrics fontMetrics = g.getFontMetrics(); g.setColor(Color.GRAY); String message = "Hello World!"; g.fillRect(10, 10, fontMetrics.stringWidth(message) + 2, fontMetrics.getHeight() + 2); g.setColor(Color.BLUE); g.drawString(message, 11, fontMetrics.getHeight()); } }; frame.add(panel); frame.pack(); frame.setSize(320, 160); frame.setVisible(true); } }
参考文献
https://allabout.co.jp/gm/gc/80697/FontMetrics
http://wikiwiki.jp/android/?%A5%C6%A5%AD%A5%B9%A5%C8%A4%CE%C9%C1%B2%E8(FontMetrics)
https://www.cresco.co.jp/blog/entry/91/
drawRect()/drawRoundRect()
http://www.javadrive.jp/applet/graphics/index5.html