幽哥

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

   最近想研究下Swing组件的重绘,看了几天的源码,觉得找到了感觉,就心血来潮做下笔记。

重绘组件用到的是 Graphics这个类,我们先看看这个是JDK官方文档的详细说明,估计没有比这个更详细的了,别跟我说看不懂,简体中文你都不认识,难道你是在火星长大的?
Graphics
*************************************************************************************************************************************************

java.awt
类 Graphics

java.lang.Object  
继承者 java.awt.Graphics
直接已知子类:
DebugGraphics, Graphics2D
*****************************************************************************************************************
public abstract class Graphics
extends Object

Graphics 类是所有图形上下文的抽象基类,允许应用程序可以在组件(已经在各种设备上实现),以及闭屏图像上,进行绘制。

Graphics 对象封装了 Java 支持的基本呈现操作所需的状态信息。此状态信息包括以下属性:

 

  • 要在其上绘制的 Component 对象。
  • 呈现和剪贴坐标的转换原点。
  • 当前剪贴区。
  • 当前颜色。
  • 当前字体。
  • 当前的逻辑像素操作函数(XOR 或 Paint)。
  • 当前 XOR 交替颜色(参见 setXORMode(java.awt.Color))。

坐标是无限细分的,并且位于输出设备的像素之间。绘制图形轮廓的操作是通过使用像素大小的画笔遍历像素间无限细分路径的操作,画笔从路径上的锚点向下和向右绘制。填充图形的操作是填充图形内部区域无限细分路径操作。呈现水平文本的操作是呈现字符字形完全位于基线坐标之上的上升部分。

图形画笔从要遍历的路径向下和向右绘制。这有以下含义:

 

  • 如果绘制一个覆盖给定矩形的图形,那么该图形与填充被相同矩形所限定的图形相比,在右侧和底边多占用一行像素。
  • 如果沿着与一行文本基线相同的 y 坐标绘制一条水平线,那么除了文字的所有下降部分外,该线完全画在文本的下面。

所有作为此 Graphics 对象方法的参数而出现的坐标,都是相对于调用该方法前的此 Graphics 对象转换原点的。

所有呈现操作仅修改当前剪贴区所限定区域内的像素,此剪贴区是由用户空间中的 Shape 指定的,并且通过使用Graphics 对象的程序来控制。此用户剪贴区 被转换到设备空间中,并且与设备剪贴区 组合,后者是通过窗口可见性和设备范围定义的。用户剪贴区和设备剪贴区的组合定义了复合剪贴区,它确定了最终的剪贴区域。用户剪贴区不能由呈现系统修改,以反映得到的复合剪贴区。用户剪贴区只能通过 setClip 或 clipRect 方法更改。所有的绘制或写入都以当前的颜色、当前绘图模式和当前字体完成的。 
http://www.oschina.net/uploads/doc/javase-6-doc-api-zh_CN/java/awt/class-use/Graphics.html 

使用 Graphics 的软件包
java.awt 包含用于创建用户界面和绘制图形图像的所有类。 
java.awt.image 提供创建和修改图像的各种类。 
java.awt.print 为通用的打印 API 提供类和接口。 
java.beans 包含与开发 beans 有关的类,即基于 JavaBeansTM 架构的组件。 
javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 
javax.swing.border 提供围绕 Swing 组件绘制特殊边框的类和接口。 
javax.swing.colorchooser 包含供 JColorChooser 组件使用的类和接口。 
javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 
javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 
javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 
javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 
javax.swing.plaf.synth Synth 是一个可更换皮肤 (skinnable) 的外观,在其中可委托所有绘制。 
javax.swing.text 提供类 HTMLEditorKit 和创建 HTML 文本编辑器的支持类。 
javax.swing.text.html 提供类 HTMLEditorKit 和创建 HTML 文本编辑器的支持类。 
javax.swing.tree 提供处理 javax.swing.JTree 的类和接口。 
 

java.awt 中 Graphics 的使用
 

 

java.awt 中 Graphics 的子类
 class Graphics2D 
          此 Graphics2D 类扩展 Graphics 类,以提供对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。
 

 

返回 Graphics 的 java.awt 中的方法
abstract  Graphics Graphics.create() 
          创建一个新的 Graphics 对象,它是此 Graphics 对象的副本。
 Graphics Graphics.create(int x, int y, int width, int height) 
          基于此 Graphics 对象创建一个新的 Graphics 对象,但是使用新的转换和剪贴区域。
 Graphics Component.FlipBufferStrategy.getDrawGraphics() 
           
 Graphics Component.BltBufferStrategy.getDrawGraphics() 
           
abstract  Graphics PrintJob.getGraphics() 
          获取将绘制到下一页的 Graphics 对象。
abstract  Graphics Image.getGraphics() 
          创建供绘制闭屏图像(off-screen image)使用的图形上下文。
 Graphics Component.getGraphics() 
          为组件创建一个图形上下文。
 

 

参数类型为 Graphics 的 java.awt 中的方法
 LineMetrics FontMetrics.getLineMetrics(char[] chars, int beginIndex, int limit, Graphics context) 
          返回指定 Graphics 上下文中指定字符数组的 LineMetrics 对象。
 LineMetrics FontMetrics.getLineMetrics(CharacterIterator ci, int beginIndex, int limit, Graphics context) 
          返回指定 Graphics 上下文中指定 CharacterIterator 的 LineMetrics 对象。
 LineMetrics FontMetrics.getLineMetrics(String str, Graphics context) 
          返回指定 Graphics 上下文中指定 String 的 LineMetrics 对象。
 LineMetrics FontMetrics.getLineMetrics(String str, int beginIndex, int limit, Graphics context) 
          返回指定 Graphics 上下文中指定 String 的 LineMetrics 对象。
 Rectangle2D FontMetrics.getMaxCharBounds(Graphics context) 
          返回指定 Graphics 上下文中具有最大边界的字符的边界。
 Rectangle2D FontMetrics.getStringBounds(char[] chars, int beginIndex, int limit, Graphics context) 
          返回指定 Graphics 上下文中指定字符数组的边界。
 Rectangle2D FontMetrics.getStringBounds(CharacterIterator ci, int beginIndex, int limit, Graphics context) 
          返回用指定 Graphics 上下文中指定 CharacterIterator 进行索引的字符的边界。
 Rectangle2D FontMetrics.getStringBounds(String str, Graphics context) 
          返回指定 Graphics 上下文中指定 String 的边界。
 Rectangle2D FontMetrics.getStringBounds(String str, int beginIndex, int limit, Graphics context) 
          返回指定 Graphics 上下文中指定 String 的边界。
 void Canvas.paint(Graphics g) 
          绘制此 canvas。
 void Container.paint(Graphics g) 
          绘制容器。
 void Component.paint(Graphics g) 
          绘制此组件。
 void Component.paintAll(Graphics g) 
          绘制此组件及其所有子组件。
 void Container.paintComponents(Graphics g) 
          绘制此容器中的每个组件。
 void Container.print(Graphics g) 
          打印容器。
 void Component.print(Graphics g) 
          打印此组件。
 void Component.printAll(Graphics g) 
          打印此组件及其所有子组件。
 void ScrollPane.printComponents(Graphics g) 
          显示此滚动窗格中的组件。
 void Container.printComponents(Graphics g) 
          打印此容器中的每个组件。
 void Canvas.update(Graphics g) 
          更新此 canvas。
 void Container.update(Graphics g) 
          更新容器。
 void Component.update(Graphics g) 
          更新组件。
 

java.awt.image 中 Graphics 的使用
 

 

返回 Graphics 的 java.awt.image 中的方法
abstract  Graphics BufferStrategy.getDrawGraphics() 
          创建用于绘制缓冲区的图形上下文。
 Graphics BufferedImage.getGraphics() 
          此方法返回 Graphics2D,但此处是出于向后兼容性的考虑。
 Graphics VolatileImage.getGraphics() 
          此方法返回 Graphics2D,但它存在于此处是出于向后兼容性的考虑。
 

java.awt.print 中 Graphics 的使用
 

 

参数类型为 Graphics 的 java.awt.print 中的方法
 int Printable.print(Graphics graphics, PageFormat pageFormat, int pageIndex) 
          将指定索引处的页面用指定格式打印到指定的 Graphics 上下文。
 

java.beans 中 Graphics 的使用
 

 

参数类型为 Graphics 的 java.beans 中的方法
 void PropertyEditor.paintValue(Graphics gfx, Rectangle box) 
          在屏幕实际状态给定区域中绘制值的表示形式。
 void PropertyEditorSupport.paintValue(Graphics gfx, Rectangle box) 
          在屏幕实际状态给定区域中绘制值的表示形式。
 

javax.swing 中 Graphics 的使用
 

 

javax.swing 中 Graphics 的子类
 class DebugGraphics 
          支持图形调试的图形子类。
 

 

返回 Graphics 的 javax.swing 中的方法
 Graphics DebugGraphics.create() 
          重写 Graphics.create 来返回一个 DebugGraphics 对象。
 Graphics DebugGraphics.create(int x, int y, int width, int height) 
          重写 Graphics.create 来返回一个 DebugGraphics 对象。
protected  Graphics JComponent.getComponentGraphics(Graphics g) 
          返回用于绘制此组件的图形对象。
 Graphics JApplet.getGraphics() 
          为组件创建一个图形上下文。
 Graphics JWindow.getGraphics() 
          为组件创建一个图形上下文。
 Graphics JDialog.getGraphics() 
          为组件创建一个图形上下文。
 Graphics JComponent.getGraphics() 
          返回此组件的图形上下文,该上下文允许您绘制组件。
 Graphics JFrame.getGraphics() 
          为组件创建一个图形上下文。
 

 

参数类型为 Graphics 的 javax.swing 中的方法
protected  Graphics JComponent.getComponentGraphics(Graphics g) 
          返回用于绘制此组件的图形对象。
 void JViewport.paint(Graphics g) 
          通过后备存储绘制图像,或者使用后备存储“位图传送”剩余图像来仅绘制最新暴露的部分,这具体取决于是否启用 backingStore
 void CellRendererPane.paint(Graphics g) 
          不应调用。
 void JLayeredPane.paint(Graphics g) 
          在指定的图形上下文中绘制此 JLayeredPane。
 void JComponent.paint(Graphics g) 
          由 Swing 调用,以绘制组件。
protected  void JProgressBar.paintBorder(Graphics g) 
          如果 borderPainted 属性为 true,则绘制进度条的边框。
protected  void JPopupMenu.paintBorder(Graphics g) 
          如果 borderPainted 属性为 true,则绘制弹出菜单的边框。
protected  void JMenuBar.paintBorder(Graphics g) 
          如果 BorderPainted 属性为 true,则绘制菜单栏的边框。
protected  void JToolBar.paintBorder(Graphics g) 
          如果 borderPainted 属性为 true,则绘制工具栏边框。
protected  void AbstractButton.paintBorder(Graphics g) 
          如果 BorderPainted 属性为 true 并且按钮有边框,则绘制该按钮边框。
protected  void JComponent.paintBorder(Graphics g) 
          绘制组件的边框。
protected  void JSplitPane.paintChildren(Graphics g) 
          通知超类后,UI 通过 finishedPaintingChildren 通知子类,同时绘制边框。
protected  void JComponent.paintChildren(Graphics g) 
          绘制此组件的子组件。
protected  void Box.paintComponent(Graphics g) 
          绘制此 Box
protected  void Box.Filler.paintComponent(Graphics g) 
          绘制此 Filler
protected  void JInternalFrame.paintComponent(Graphics g) 
          重写此方法,以便在拖动内部窗体时允许进行优化的绘制。
protected  void JComponent.paintComponent(Graphics g) 
          如果 UI 委托为非 null,则调用该 UI 委托的 paint 方法。
 void CellRendererPane.paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h) 
          调用 this.paintComponent(g, c, p, x, y, w, h, false)。
static void SwingUtilities.paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h) 
          在指定的 Graphics 上绘制组件。
 void CellRendererPane.paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h, boolean shouldValidate) 
          在图形对象 g 上绘制一个单元格渲染器组件 c。
 void CellRendererPane.paintComponent(Graphics g, Component c, Container p, Rectangle r) 
          使用矩形的 x、y、width 和 height 字段的调用 this.paintComponent()。
static void SwingUtilities.paintComponent(Graphics g, Component c, Container p, Rectangle r) 
          在指定的 Graphics 上绘制组件。
 void ImageIcon.paintIcon(Component c, Graphics g, int x, int y) 
          绘制图标。
 void Icon.paintIcon(Component c, Graphics g, int x, int y) 
          在指定位置上绘制图标。
 void JComponent.print(Graphics g) 
          调用此方法打印指定 Graphics 的组件。
 void JComponent.printAll(Graphics g) 
          调用此方法打印组件。
protected  void JComponent.printBorder(Graphics g) 
          打印组件的边框。
protected  void JComponent.printChildren(Graphics g) 
          打印此组件的子组件。
protected  void JComponent.printComponent(Graphics g) 
          在打印操作期间调用此方法。
 void JApplet.update(Graphics g) 
          调用 paint(g)
 void JWindow.update(Graphics g) 
          调用 paint(g)
 void CellRendererPane.update(Graphics g) 
          不应调用。
 void JDialog.update(Graphics g) 
          调用 paint(g)
 void JComponent.update(Graphics g) 
          调用 paint
 void JFrame.update(Graphics g) 
          只是调用 paint(g)
 

 

参数类型为 Graphics 的 javax.swing 中的构造方法
DebugGraphics(Graphics graphics) 
          根据现有图形上下文构造一个调试图形上下文,该上下文支持减慢绘制。
DebugGraphics(Graphics graphics, JComponent component) 
          根据现有图形上下文构造一个调试图形上下文,该上下文可以减慢指定组件的绘制。
 

javax.swing.border 中 Graphics 的使用
 

 

参数类型为 Graphics 的 javax.swing.border 中的方法
 void SoftBevelBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          按照指定的位置和尺寸绘制指定组件的边框。
 void TitledBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          按照指定的位置和大小为指定的组件绘制边框。
 void BevelBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          按指定的位置和尺寸绘制指定组件的边框。
 void EtchedBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          按照指定的位置和尺寸为指定的组件绘制边框
 void LineBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          按照指定的位置和尺寸为指定的组件绘制边框。
 void MatteBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          绘制衬边边框。
 void CompoundBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          绘制组合边框,方法是先按指定的位置和尺寸绘制外部边框,然后按照外部边框 insets 指定的位置和尺寸偏移量绘制内部边框。
 void EmptyBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          默认情况下不执行绘制。
 void AbstractBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          此默认实现不执行绘制操作。
 void Border.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
          按指定的位置和尺寸绘制指定组件的边框。
protected  void BevelBorder.paintLoweredBevel(Component c, Graphics g, int x, int y, int width, int height) 
           
protected  void BevelBorder.paintRaisedBevel(Component c, Graphics g, int x, int y, int width, int height) 
           
 

javax.swing.colorchooser 中 Graphics 的使用
 

 

参数类型为 Graphics 的 javax.swing.colorchooser 中的方法
 void AbstractColorChooserPanel.paint(Graphics g) 
          绘制面板。
 

javax.swing.plaf 中 Graphics 的使用
 

 

参数类型为 Graphics 的 javax.swing.plaf 中的方法
abstract  void SplitPaneUI.finishedPaintingChildren(JSplitPane jc, Graphics g) 
          在 JSplitPane 接收方提供外观来绘制其子组件之后传递消息。
 void ComponentUI.paint(Graphics g, JComponent c) 
          绘制指定组件,使其适合外观。
 void BorderUIResource.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
           
 void IconUIResource.paintIcon(Component c, Graphics g, int x, int y) 
           
 void ComponentUI.update(Graphics g, JComponent c) 
          通知此 UI 委托开始绘制指定的组件。
 

javax.swing.plaf.basic 中 Graphics 的使用
 

 

参数类型为 Graphics 的 javax.swing.plaf.basic 中的方法
static void BasicGraphicsUtils.drawBezel(Graphics g, int x, int y, int w, int h, boolean isPressed, boolean isDefault, Color shadow, Color darkShadow, Color highlight,Color lightHighlight) 
           
protected  void BasicTreeUI.drawCentered(Component c, Graphics graphics, Icon icon, int x, int y) 
           
protected  void BasicTreeUI.drawDashedHorizontalLine(Graphics g, int y, int x1, int x2) 
           
static void BasicGraphicsUtils.drawDashedRect(Graphics g, int x, int y, int width, int height) 
           
protected  void BasicTreeUI.drawDashedVerticalLine(Graphics g, int x, int y1, int y2) 
           
static void BasicGraphicsUtils.drawEtchedRect(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight) 
           
static void BasicGraphicsUtils.drawGroove(Graphics g, int x, int y, int w, int h, Color shadow, Color highlight) 
           
static void BasicGraphicsUtils.drawLoweredBezel(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight) 
           
static void BasicGraphicsUtils.drawString(Graphics g, String text, int underlinedChar, int x, int y) 
          像 g.drawString 那样利用图形 g 在位置 (x,y) 绘制字符串。
static void BasicGraphicsUtils.drawStringUnderlineCharAt(Graphics g, String text, int underlinedIndex, int x, int y) 
          像 g.drawString 那样利用图形 g 在位置 (xy) 绘制字符串。
 void BasicSplitPaneUI.finishedPaintingChildren(JSplitPane jc, Graphics g) 
          在 JSplitPane 接收者将为绘制其子级提供外观后传递消息。
protected  Point BasicProgressBarUI.getStringPlacement(Graphics g, String progressString, int x, int y, int width, int height) 
          指定将绘制进度字符串的位置。
 void BasicInternalFrameTitlePane.SystemMenuBar.paint(Graphics g) 
           
 void BasicSplitPaneDivider.paint(Graphics g) 
          绘制分隔符。
 void BasicArrowButton.paint(Graphics g) 
           
 void BasicToolBarUI.DragWindow.paint(Graphics g) 
           
 void BasicDesktopPaneUI.paint(Graphics g, JComponent c) 
           
 void BasicPopupMenuSeparatorUI.paint(Graphics g, JComponent c) 
           
 void BasicToolTipUI.paint(Graphics g, JComponent c) 
           
 void BasicSliderUI.paint(Graphics g, JComponent c) 
           
 void BasicSplitPaneUI.paint(Graphics g, JComponent jc) 
          传递消息以绘制外观。
 void BasicTreeUI.paint(Graphics g, JComponent c) 
           
 void BasicTableUI.paint(Graphics g, JComponent c) 
          绘制用 installUI() 设置的 table 实例的表示形式。
 void BasicTableHeaderUI.paint(Graphics g, JComponent c) 
           
 void BasicProgressBarUI.paint(Graphics g, JComponent c) 
          将绘制委托给两种方法之一:paintDeterminate 和 paintIndeterminate。
 void BasicRadioButtonUI.paint(Graphics g, JComponent c) 
          绘制单选按钮
 void BasicTabbedPaneUI.paint(Graphics g, JComponent c) 
           
 void BasicToolBarSeparatorUI.paint(Graphics g, JComponent c) 
           
 void BasicTextUI.paint(Graphics g, JComponent c) 
          绘制界面。
 void BasicScrollPaneUI.paint(Graphics g, JComponent c) 
           
 void BasicListUI.paint(Graphics g, JComponent c) 
          绘制与 Graphics 对象 clipRect 相交的行。
 void BasicComboBoxUI.paint(Graphics g, JComponent c) 
           
 void BasicScrollBarUI.paint(Graphics g, JComponent c) 
           
 void BasicSeparatorUI.paint(Graphics g, JComponent c) 
           
 void BasicMenuItemUI.paint(Graphics g, JComponent c) 
           
 void BasicToggleButtonUI.paint(Graphics g, JComponent c) 
           
 void BasicButtonUI.paint(Graphics g, JComponent c) 
           
 void BasicLabelUI.paint(Graphics g, JComponent c) 
          使用前景色绘制标签文本,如果标签不透明,则利用背景色绘制整个背景。
protected  void BasicTextUI.paintBackground(Graphics g) 
          绘制视图的背景。
protected  void BasicMenuItemUI.paintBackground(Graphics g, JMenuItem menuItem, Color bgColor) 
          绘制菜单项的背景。
 void BasicBorders.RolloverButtonBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void BasicBorders.ButtonBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
           
 void BasicBorders.ToggleButtonBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
           
 void BasicBorders.RadioButtonBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
           
 void BasicBorders.MenuBarBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
           
 void BasicBorders.FieldBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
           
 void BasicBorders.SplitPaneBorder.paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
           
protected  void BasicButtonUI.paintButtonPressed(Graphics g, AbstractButton b) 
           
protected  void BasicListUI.paintCell(Graphics g, int row, Rectangle rowBounds, ListCellRenderer cellRenderer, ListModel dataModel, ListSelectionModel selModel, int leadIndex) 
          绘制一个 List 单元格:计算相关状态,获取“橡皮图章”单元格渲染器组件,然后使用 CellRendererPane 来绘制它。
 void BasicInternalFrameTitlePane.paintComponent(Graphics g) 
           
protected  void BasicTabbedPaneUI.paintContentBorder(Graphics g, int tabPlacement, int selectedIndex) 
           
protected  void BasicTabbedPaneUI.paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h) 
           
protected  void BasicTabbedPaneUI.paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h) 
           
protected  void BasicTabbedPaneUI.paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h) 
           
protected  void BasicTabbedPaneUI.paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h) 
           
 void BasicComboBoxUI.paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus) 
          绘制当前所选项。
 void BasicComboBoxUI.paintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus) 
          绘制当前所选项的背景。
protected  void BasicScrollBarUI.paintDecreaseHighlight(Graphics g) 
           
protected  void BasicProgressBarUI.paintDeterminate(Graphics g, JComponent c) 
          对几乎所有线性、确定进度条都能正确执行操作的多用途绘制方法。
protected  void BasicLabelUI.paintDisabledText(JLabel l, Graphics g, String s, int textX, int textY) 
          利用 background.lighter() 将 clippedText 绘制在 textX、textY 处,然后利用 background.darker() 向右下移动一个像素。
protected  void BasicToolBarUI.paintDragWindow(Graphics g) 
          绘制用于拖动的窗口的内容。
protected  void BasicLabelUI.paintEnabledText(JLabel l, Graphics g, String s, int textX, int textY) 
          利用标签的前景色将 clippedText 绘制在 textX、textY 处。
protected  void BasicTreeUI.paintExpandControl(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 
          绘制 row 的展开(切换)部分。
 void BasicSliderUI.paintFocus(Graphics g) 
           
protected  void BasicButtonUI.paintFocus(Graphics g, AbstractButton b, Rectangle viewRect, Rectangle textRect, Rectangle iconRect) 
           
protected  void BasicRadioButtonUI.paintFocus(Graphics g, Rectangle textRect, Dimension size) 
           
protected  void BasicTabbedPaneUI.paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)
           
protected  void BasicSliderUI.paintHorizontalLabel(Graphics g, int value, Component label) 
          为标签表中的每个标签调用此方法。
protected  void BasicTreeUI.paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right) 
          绘制水平线。
protected  void BasicTreeUI.paintHorizontalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 
          绘制支路 (leg) 的水平部分。
protected  void BasicToggleButtonUI.paintIcon(Graphics g, AbstractButton b, Rectangle iconRect) 
           
protected  void BasicTabbedPaneUI.paintIcon(Graphics g, int tabPlacement, int tabIndex, Icon icon, Rectangle iconRect, boolean isSelected) 
           
protected  void BasicButtonUI.paintIcon(Graphics g, JComponent c, Rectangle iconRect) 
           
protected  void BasicScrollBarUI.paintIncreaseHighlight(Graphics g) 
           
protected  void BasicProgressBarUI.paintIndeterminate(Graphics g, JComponent c) 
          对所有线性跳动框进度条都能正确执行操作的多用途绘制方法。
 void BasicSliderUI.paintLabels(Graphics g) 
           
protected  void BasicSliderUI.paintMajorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x) 
           
protected  void BasicSliderUI.paintMajorTickForVertSlider(Graphics g, Rectangle tickBounds, int y) 
           
protected  void BasicMenuItemUI.paintMenuItem(Graphics g, JComponent c, Icon checkIcon, Icon arrowIcon, Color background, Color foreground, int defaultTextIconGap) 
           
protected  void BasicSliderUI.paintMinorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x) 
           
protected  void BasicSliderUI.paintMinorTickForVertSlider(Graphics g, Rectangle tickBounds, int y) 
           
protected  void BasicTreeUI.paintRow(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 
          绘制 row 的渲染器部分。
protected  void BasicTextUI.paintSafely(Graphics g) 
          安全地绘制界面,保证模型不会根据此线程的视图发生更改。
protected  void BasicProgressBarUI.paintString(Graphics g, int x, int y, int width, int height, int amountFull, Insets b) 
           
protected  void BasicTabbedPaneUI.paintTab(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect) 
           
protected  void BasicTabbedPaneUI.paintTabArea(Graphics g, int tabPlacement, int selectedIndex) 
          在选项卡区域绘制选项卡。
protected  void BasicTabbedPaneUI.paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected) 
           
protected  void BasicTabbedPaneUI.paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected) 
          此方法围绕每个选项卡绘制边框。
protected  void BasicButtonUI.paintText(Graphics g, AbstractButton b, Rectangle textRect, String text) 
          呈现当前按钮文本的方法。
protected  void BasicTabbedPaneUI.paintText(Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected) 
           
protected  void BasicButtonUI.paintText(Graphics g, JComponent c, Rectangle textRect, String text) 
          从 Java 2 平台 v 1.4 开始,不应再使用或重写此方法。
protected  void BasicMenuItemUI.paintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text) 
          呈现当前菜单项的文本。
 void BasicSliderUI.paintThumb(Graphics g) 
           
protected  void BasicScrollBarUI.paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) 
           
 void BasicSliderUI.paintTicks(Graphics g) 
           
protected  void BasicInternalFrameTitlePane.paintTitleBackground(Graphics g) 
          从 paintComponent 调用。
 void BasicSliderUI.paintTrack(Graphics g) 
           
protected  void BasicScrollBarUI.paintTrack(Graphics g, JComponent c, Rectangle trackBounds) 
           
 void BasicArrowButton.paintTriangle(Graphics g, int x, int y, int size, int direction, boolean isEnabled) 
          绘制一个三角形。
protected  void BasicSliderUI.paintVerticalLabel(Graphics g, int value, Component label) 
          为标签表中的每个标签调用此方法。
protected  void BasicTreeUI.paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom) 
          绘制垂直线。
protected  void BasicTreeUI.paintVerticalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, TreePath path) 
          绘制支路的垂直部分。
 void BasicTextUI.update(Graphics g, JComponent c) 
          超类以无法控制的方式绘制背景(即有人可能希望将图像平铺在背景中)。
 void BasicMenuItemUI.update(Graphics g, JComponent c) 
          使用 paintMenuItem() 绘制背景,从而重写 update(默认情况下填充不透明组件的背景)以调用 paint()。
 

javax.swing.plaf.metal 中 Graphics 的使用
 

 

参数类型为 Graphics 的 javax.swing.plaf.metal 中的方法
protected  void MetalCheckBoxIcon.drawCheck(Component c, Graphics g, int x, int y) 
           
 void MetalScrollButton.paint(Graphics g) 
           
 void MetalToolTipUI.paint(Graphics g, JComponent c) 
           
 void MetalTreeUI.paint(Graphics g, JComponent c) 
           
 void MetalRadioButtonUI.paint(Graphics g, JComponent c) 
           
 void MetalTabbedPaneUI.paint(Graphics g, JComponent c) 
           
 void MetalComboBoxUI.paint(Graphics g, JComponent c) 
           
 void MetalPopupMenuSeparatorUI.paint(Graphics g, JComponent c) 
           
 void MetalSeparatorUI.paint(Graphics g, JComponent c) 
           
 void MetalBorders.Flush3DBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.ButtonBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.InternalFrameBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.PaletteBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.OptionDialogBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.MenuBarBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.MenuItemBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.PopupMenuBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.RolloverButtonBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.ToolBarBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.TextFieldBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.ScrollPaneBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.ToggleButtonBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
 void MetalBorders.TableHeaderBorder.paintBorder(Component c, Graphics g, int x, int y, int w, int h) 
           
protected  void MetalTabbedPaneUI.paintBottomTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected) 
           
protected  void MetalToggleButtonUI.paintButtonPressed(Graphics g, AbstractButton b) 
           
protected  void MetalButtonUI.paintButtonPressed(Graphics g, AbstractButton b) 
           
 void MetalInternalFrameTitlePane.paintComponent(Graphics g) 
           
 void MetalComboBoxButton.paintComponent(Graphics g) 
           
protected  void MetalTabbedPaneUI.paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h) 
           
protected  void MetalTabbedPaneUI.paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h) 
           
protected  void MetalTabbedPaneUI.paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h) 
           
protected  void MetalTabbedPaneUI.paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h) 
           
 void MetalComboBoxUI.paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus) 
          如有必要,绘制当前所选项。
 void MetalComboBoxUI.paintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus) 
          如有必要,绘制当前所选项的背景。
 void MetalProgressBarUI.paintDeterminate(Graphics g, JComponent c) 
          在进度条上绘制少量特殊的高亮显示。
protected  void MetalLabelUI.paintDisabledText(JLabel l, Graphics g, String s, int textX, int textY) 
          只绘制文本灰度 (Label.disabledForeground),而不是使用标签前景色。
 void MetalSliderUI.paintFocus(Graphics g) 
           
protected  void MetalToggleButtonUI.paintFocus(Graphics g, AbstractButton b, Rectangle viewRect, Rectangle textRect, Rectangle iconRect) 
           
protected  void MetalButtonUI.paintFocus(Graphics g, AbstractButton b, Rectangle viewRect, Rectangle textRect, Rectangle iconRect) 
           
protected  void MetalRadioButtonUI.paintFocus(Graphics g, Rectangle t, Dimension d) 
           
protected  void MetalTabbedPaneUI.paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected) 
           
protected  void MetalTreeUI.paintHorizontalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 
           
protected  void MetalTreeUI.paintHorizontalSeparators(Graphics g, JComponent c) 
           
 void MetalCheckBoxIcon.paintIcon(Component c, Graphics g, int x, int y) 
           
 void MetalComboBoxIcon.paintIcon(Component c, Graphics g, int x, int y) 
          绘制 MetalComboBox 的水平条
 void MetalIconFactory.PaletteCloseIcon.paintIcon(Component c, Graphics g, int x, int y) 
           
 void MetalIconFactory.FolderIcon16.paintIcon(Component c, Graphics g, int x, int y) 
           
 void MetalIconFactory.FileIcon16.paintIcon(Component c, Graphics g, int x, int y) 
           
 void MetalIconFactory.TreeControlIcon.paintIcon(Component c, Graphics g, int x, int y) 
           
protected  void MetalToggleButtonUI.paintIcon(Graphics g, AbstractButton b, Rectangle iconRect) 
          在空间 iconRect 中绘制按钮 b 的适当图标。
 void MetalProgressBarUI.paintIndeterminate(Graphics g, JComponent c) 
          在进度条和跳动框上绘制少量特殊的高亮显示。
protected  void MetalTabbedPaneUI.paintLeftTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected) 
           
protected  void MetalSliderUI.paintMajorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x) 
           
protected  void MetalSliderUI.paintMajorTickForVertSlider(Graphics g, Rectangle tickBounds, int y) 
           
 void MetalIconFactory.TreeControlIcon.paintMe(Component c, Graphics g, int x, int y) 
           
protected  void MetalSliderUI.paintMinorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x) 
           
protected  void MetalSliderUI.paintMinorTickForVertSlider(Graphics g, Rectangle tickBounds, int y) 
           
 void MetalInternalFrameTitlePane.paintPalette(Graphics g) 
           
protected  void MetalTabbedPaneUI.paintRightTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected) 
           
protected  void MetalTabbedPaneUI.paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected) 
           
protected  void MetalTabbedPaneUI.paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected) 
           
protected  void MetalToggleButtonUI.paintText(Graphics g, JComponent c, Rectangle textRect, String text) 
           
protected  void MetalButtonUI.paintText(Graphics g, JComponent c, Rectangle textRect, String text) 
           
 void MetalSliderUI.paintThumb(Graphics g) 
           
protected  void MetalScrollBarUI.paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) 
           
protected  void MetalTabbedPaneUI.paintTopTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected) 
           
 void MetalSliderUI.paintTrack(Graphics g) 
           
protected  void MetalScrollBarUI.paintTrack(Graphics g, JComponent c, Rectangle trackBounds) 
           
protected  void MetalTreeUI.paintVerticalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, TreePath path) 
           
 void MetalTabbedPaneUI.update(Graphics g, JComponent c) 
           
 void MetalToolBarUI.update(Graphics g, JComponent c) 
          如果必要,绘制组件的背景,然后调用 paint
 void MetalMenuBarUI.update(Graphics g, JComponent c) 
          如果必要,绘制组件的背景,然后调用 paint
 void MetalToggleButtonUI.update(Graphics g, JComponent c) 
          如果必要,绘制组件的背景,然后调用 paint
 void MetalButtonUI.update(Graphics g, JComponent c) 
          如果必要,绘制组件的背景,然后调用 paint
 

javax.swing.plaf.multi 中 Graphics 的使用
 

 

参数类型为 Graphics 的 javax.swing.plaf.multi 中的方法
 void MultiSplitPaneUI.finishedPaintingChildren(JSplitPane a, Graphics b) 
          在由此对象处理的每个 UI 上调用 finishedPaintingChildren 方法。
 void MultiButtonUI.paint(Graphics a, JComponent b) 
          在此对象处理的每个 UI 上调用 paint 方法。
 void MultiColorChooserUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法
 void MultiComboBoxUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiDesktopIconUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiDesktopPaneUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiFileChooserUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiInternalFrameUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiLabelUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiListUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiMenuBarUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiMenuItemUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiOptionPaneUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiPanelUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiPopupMenuUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiProgressBarUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiRootPaneUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiScrollBarUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiScrollPaneUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiSeparatorUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiSliderUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiSpinnerUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiSplitPaneUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiTabbedPaneUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiTableHeaderUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiTableUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiTextUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiToolBarUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiToolTipUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiTreeUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiViewportUI.paint(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 paint 方法。
 void MultiButtonUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiColorChooserUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiComboBoxUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiDesktopIconUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiDesktopPaneUI.update(Graphics a, JComponent b) 
          在此对象处理的每个 UI 上调用 update 方法。
 void MultiFileChooserUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiInternalFrameUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiLabelUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiListUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiMenuBarUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiMenuItemUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiOptionPaneUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiPanelUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiPopupMenuUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiProgressBarUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiRootPaneUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiScrollBarUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiScrollPaneUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiSeparatorUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiSliderUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiSpinnerUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiSplitPaneUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiTabbedPaneUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiTableHeaderUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiTableUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiTextUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiToolBarUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiToolTipUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiTreeUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 void MultiViewportUI.update(Graphics a, JComponent b) 
          在由此对象处理的每个 UI 上调用 update 方法。
 

javax.swing.plaf.synth 中 Graphics 的使用
 

 

参数类型为 Graphics 的 javax.swing.plaf.synth 中的方法
 void SynthGraphicsUtils.drawLine(SynthContext context, Object paintKey, Graphics g, int x1, int y1, int x2, int y2) 
          在两个端点之间绘制一条线。
 void SynthGraphicsUtils.drawLine(SynthContext context, Object paintKey, Graphics g, int x1, int y1, int x2, int y2, Object styleKey) 
          在两个端点之间绘制一条线。
 void SynthPainter.paintArrowButtonBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制箭头按钮的背景。
 void SynthPainter.paintArrowButtonBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制箭头按钮的边框。
 void SynthPainter.paintArrowButtonForeground(SynthContext context, Graphics g, int x, int y, int w, int h, int direction) 
          绘制箭头按钮的前景。
 void SynthPainter.paintButtonBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制按钮的背景。
 void SynthPainter.paintButtonBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制按钮的边框。
 void SynthPainter.paintCheckBoxBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制复选框的背景。
 void SynthPainter.paintCheckBoxBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制复选框的边框。
 void SynthPainter.paintCheckBoxMenuItemBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制复选框菜单项的背景。
 void SynthPainter.paintCheckBoxMenuItemBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制复选框菜单项的边框。
 void SynthPainter.paintColorChooserBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制颜色选择器的背景。
 void SynthPainter.paintColorChooserBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制颜色选择器的边框。
 void SynthPainter.paintComboBoxBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制组合框的背景。
 void SynthPainter.paintComboBoxBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制组合框的边框。
 void SynthPainter.paintDesktopIconBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制桌面图标的背景。
 void SynthPainter.paintDesktopIconBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制桌面图标的边框。
 void SynthPainter.paintDesktopPaneBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制桌面窗格的背景。
 void SynthPainter.paintDesktopPaneBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制桌面窗格的边框。
 void SynthPainter.paintEditorPaneBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制编辑器窗格的背景。
 void SynthPainter.paintEditorPaneBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制编辑器窗格的边框。
 void SynthPainter.paintFileChooserBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制文件选择器的背景。
 void SynthPainter.paintFileChooserBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制文件选择器的边框。
 void SynthPainter.paintFormattedTextFieldBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制已格式化文本字段的背景。
 void SynthPainter.paintFormattedTextFieldBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制已格式化文本字段的边框。
 void SynthPainter.paintInternalFrameBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制内部窗体的背景。
 void SynthPainter.paintInternalFrameBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制内部窗体的边框。
 void SynthPainter.paintInternalFrameTitlePaneBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制内部窗体标题窗格的背景。
 void SynthPainter.paintInternalFrameTitlePaneBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制内部窗体标题窗格的边框。
 void SynthPainter.paintLabelBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制标签的背景。
 void SynthPainter.paintLabelBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制标签的边框。
 void SynthPainter.paintListBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制列表的背景。
 void SynthPainter.paintListBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制列表的边框。
 void SynthPainter.paintMenuBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制菜单的背景。
 void SynthPainter.paintMenuBarBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制菜单栏的背景。
 void SynthPainter.paintMenuBarBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制菜单栏的边框。
 void SynthPainter.paintMenuBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制菜单的边框。
 void SynthPainter.paintMenuItemBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制菜单项的背景。
 void SynthPainter.paintMenuItemBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制菜单项的边框。
 void SynthPainter.paintOptionPaneBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制选项窗格的背景。
 void SynthPainter.paintOptionPaneBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制选项窗格的边框。
 void SynthPainter.paintPanelBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制面板的背景。
 void SynthPainter.paintPanelBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制面板的边框。
 void SynthPainter.paintPasswordFieldBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制密码字段的背景。
 void SynthPainter.paintPasswordFieldBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制密码字段的边框。
 void SynthPainter.paintPopupMenuBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制弹出菜单的背景。
 void SynthPainter.paintPopupMenuBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制弹出菜单的边框。
 void SynthPainter.paintProgressBarBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制进度条的背景。
 void SynthPainter.paintProgressBarBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制进度条的背景。
 void SynthPainter.paintProgressBarBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制进度条的边框。
 void SynthPainter.paintProgressBarBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制进度条的边框。
 void SynthPainter.paintProgressBarForeground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制进度条的前景。
 void SynthPainter.paintRadioButtonBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制单选钮的背景。
 void SynthPainter.paintRadioButtonBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制单选钮的边框。
 void SynthPainter.paintRadioButtonMenuItemBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制单选钮菜单项的背景。
 void SynthPainter.paintRadioButtonMenuItemBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制单选钮菜单项的边框。
 void SynthPainter.paintRootPaneBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制根窗体的背景。
 void SynthPainter.paintRootPaneBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制根窗体的边框。
 void SynthPainter.paintScrollBarBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滚动条的背景。
 void SynthPainter.paintScrollBarBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滚动条的背景。
 void SynthPainter.paintScrollBarBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滚动条的边框。
 void SynthPainter.paintScrollBarBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滚动条的边框。
 void SynthPainter.paintScrollBarThumbBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滚动条的 thumb 的背景。
 void SynthPainter.paintScrollBarThumbBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滚动条的 thumb 的边框。
 void SynthPainter.paintScrollBarTrackBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滚动条滑道的背景。
 void SynthPainter.paintScrollBarTrackBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滚动条滑道的背景。
 void SynthPainter.paintScrollBarTrackBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滚动条滑道的边框。
 void SynthPainter.paintScrollBarTrackBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滚动条滑道的边框。
 void SynthPainter.paintScrollPaneBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滚动窗格的背景。
 void SynthPainter.paintScrollPaneBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滚动窗格的边框。
 void SynthPainter.paintSeparatorBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制分隔符的背景。
 void SynthPainter.paintSeparatorBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制分隔符的背景。
 void SynthPainter.paintSeparatorBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制分隔符的边框。
 void SynthPainter.paintSeparatorBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制分隔符的边框。
 void SynthPainter.paintSeparatorForeground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制分隔符的前景。
 void SynthPainter.paintSliderBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滑块的背景。
 void SynthPainter.paintSliderBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滑块的背景。
 void SynthPainter.paintSliderBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滑块的边框。
 void SynthPainter.paintSliderBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滑块的边框。
 void SynthPainter.paintSliderThumbBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滑块的 thumb 的背景。
 void SynthPainter.paintSliderThumbBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滑块的 thumb 的边框。
 void SynthPainter.paintSliderTrackBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滑块的滑道的背景。
 void SynthPainter.paintSliderTrackBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滑块的滑道的背景。
 void SynthPainter.paintSliderTrackBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制滑块的滑道的边框。
 void SynthPainter.paintSliderTrackBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制滑块的滑道的边框。
 void SynthPainter.paintSpinnerBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制 spinner 的背景。
 void SynthPainter.paintSpinnerBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制 spinner 的边框。
 void SynthPainter.paintSplitPaneBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制分隔窗格的背景。
 void SynthPainter.paintSplitPaneBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制分隔窗格的边框。
 void SynthPainter.paintSplitPaneDividerBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制分隔窗格的分隔栏的背景。
 void SynthPainter.paintSplitPaneDividerBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制分隔窗格的分隔栏的背景。
 void SynthPainter.paintSplitPaneDividerForeground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制分隔窗格的分隔栏的前景。
 void SynthPainter.paintSplitPaneDragDivider(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          当用户拖动分隔符时,绘制分隔窗格的分隔栏。
 void SynthPainter.paintTabbedPaneBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制选项卡窗格的背景。
 void SynthPainter.paintTabbedPaneBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制选项卡窗格的边框。
 void SynthPainter.paintTabbedPaneContentBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制包含选项卡窗格中所选选项卡内容的区域的背景。
 void SynthPainter.paintTabbedPaneContentBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制包含选项卡窗格中所选选项卡内容的区域的边框。
 void SynthPainter.paintTabbedPaneTabAreaBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制选项卡窗格的选项卡背后区域的背景。
 void SynthPainter.paintTabbedPaneTabAreaBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制选项卡窗格的选项卡背后区域的背景。
 void SynthPainter.paintTabbedPaneTabAreaBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制选项卡窗格的选项卡背后区域的边框。
 void SynthPainter.paintTabbedPaneTabAreaBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制选项卡窗格的选项卡背后区域的边框。
 void SynthPainter.paintTabbedPaneTabBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int tabIndex) 
          绘制选项卡窗格的选项卡的背景。
 void SynthPainter.paintTabbedPaneTabBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int tabIndex, int orientation) 
          绘制选项卡窗格的选项卡的背景。
 void SynthPainter.paintTabbedPaneTabBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int tabIndex) 
          绘制选项卡窗格的选项卡的边框。
 void SynthPainter.paintTabbedPaneTabBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int tabIndex, int orientation) 
          绘制选项卡窗格的选项卡的边框。
 void SynthPainter.paintTableBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制表的背景。
 void SynthPainter.paintTableBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制表的边框。
 void SynthPainter.paintTableHeaderBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制表标题的背景。
 void SynthPainter.paintTableHeaderBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制表标题的边框。
 void SynthGraphicsUtils.paintText(SynthContext ss, Graphics g, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex, int textOffset) 
          绘制图标和文本。
 void SynthGraphicsUtils.paintText(SynthContext ss, Graphics g, String text, int x, int y, int mnemonicIndex) 
          在指定位置上绘制文本。
 void SynthGraphicsUtils.paintText(SynthContext ss, Graphics g, String text, Rectangle bounds, int mnemonicIndex) 
          在指定位置上绘制文本。
 void SynthPainter.paintTextAreaBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制文本区域的背景。
 void SynthPainter.paintTextAreaBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制文本区域的边框。
 void SynthPainter.paintTextFieldBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制文本字段的背景。
 void SynthPainter.paintTextFieldBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制文本字段的边框。
 void SynthPainter.paintTextPaneBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制文本窗格的背景。
 void SynthPainter.paintTextPaneBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制文本窗格的边框。
 void SynthPainter.paintToggleButtonBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制切换按钮的背景。
 void SynthPainter.paintToggleButtonBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制切换按钮的边框。
 void SynthPainter.paintToolBarBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制工具栏的背景。
 void SynthPainter.paintToolBarBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制工具栏的背景。
 void SynthPainter.paintToolBarBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制工具栏的边框。
 void SynthPainter.paintToolBarBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制工具栏的边框。
 void SynthPainter.paintToolBarContentBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制工具栏内容区的背景。
 void SynthPainter.paintToolBarContentBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制工具栏内容区的背景。
 void SynthPainter.paintToolBarContentBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制工具栏内容区的边框。
 void SynthPainter.paintToolBarContentBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制工具栏内容区的边框。
 void SynthPainter.paintToolBarDragWindowBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制工具栏从主窗体中脱离出来时包含它的窗口的背景。
 void SynthPainter.paintToolBarDragWindowBackground(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制工具栏从主窗体中脱离出来时包含它的窗口的背景。
 void SynthPainter.paintToolBarDragWindowBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制工具栏从主窗体中脱离出来时包含它的窗口的边框。
 void SynthPainter.paintToolBarDragWindowBorder(SynthContext context, Graphics g, int x, int y, int w, int h, int orientation) 
          绘制工具栏从主窗体中脱离出来时包含它的窗口的边框。
 void SynthPainter.paintToolTipBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制工具提示的背景。
 void SynthPainter.paintToolTipBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制工具提示的边框。
 void SynthPainter.paintTreeBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制树的背景。
 void SynthPainter.paintTreeBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制树的边框。
 void SynthPainter.paintTreeCellBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制包含树中某个单元格的行的背景。
 void SynthPainter.paintTreeCellBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制包含树中某个单元格的行的边框。
 void SynthPainter.paintTreeCellFocus(SynthContext context, Graphics g, int x, int y, int w, int h) 
          当树中某个单元格拥有焦点时,绘制该单元格的焦点指示器。
 void SynthPainter.paintViewportBackground(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制视口的背景。
 void SynthPainter.paintViewportBorder(SynthContext context, Graphics g, int x, int y, int w, int h) 
          绘制视口的边框。
 

javax.swing.text 中 Graphics 的使用
 

 

返回 Graphics 的 javax.swing.text 中的方法
 Graphics View.getGraphics() 
          获取用于呈现的 Graphics
 

 

参数类型为 Graphics 的 javax.swing.text 中的方法
protected  int PasswordView.drawEchoCharacter(Graphics g, int x, int y, char c) 
          呈现回显字符,或呈现用来显示密码字符的图形。
protected  void PlainView.drawLine(int lineIndex, Graphics g, int x, int y) 
          呈现文本的某一行,取消末尾的空白并扩展所有的制表符。
protected  void WrappedPlainView.drawLine(int p0, int p1, Graphics g, int x, int y) 
          取消结尾空格并扩展所有制表符,从而呈现一行文本。
protected  int PasswordView.drawSelectedText(Graphics g, int x, int y, int p0, int p1) 
          将模型中给定的范围呈现为选定文本。
protected  int WrappedPlainView.drawSelectedText(Graphics g, int x, int y, int p0, int p1) 
          将模型中给定的范围呈现为所选文本。
protected  int PlainView.drawSelectedText(Graphics g, int x, int y, int p0, int p1) 
          将模型中给定的范围呈现为选定文本。
static int Utilities.drawTabbedText(Segment s, int x, int y, Graphics g, TabExpander e, int startOffset) 
          使用给定的制表符扩展方式来扩展给定文本所包含的任何制表符,从而绘制给定的文本。
protected  int PasswordView.drawUnselectedText(Graphics g, int x, int y, int p0, int p1) 
          将模型中给定的范围呈现为正常的未选定文本。
protected  int WrappedPlainView.drawUnselectedText(Graphics g, int x, int y, int p0, int p1) 
          将模型中的给定范围呈现为普通未选择的文本。
protected  int PlainView.drawUnselectedText(Graphics g, int x, int y, int p0, int p1) 
          将模型中给定的范围呈现为正常的未选定文本。
abstract  void GlyphView.GlyphPainter.paint(GlyphView v, Graphics g, Shape a, int p0, int p1) 
          绘制表示给定范围的字形。
 void DefaultHighlighter.paint(Graphics g) 
          呈现高亮显示区域。
 void Highlighter.paint(Graphics g) 
          呈现高亮显示。
 void DefaultCaret.paint(Graphics g) 
          将插入符作为垂直线呈现。
 void Caret.paint(Graphics g) 
          呈现插入符。
 void DefaultHighlighter.DefaultHighlightPainter.paint(Graphics g, int offs0, int offs1, Shape bounds, JTextComponent c) 
          绘制高亮显示区域。
 void Highlighter.HighlightPainter.paint(Graphics g, int p0, int p1, Shape bounds, JTextComponent c) 
          呈现高亮显示。
 void AsyncBoxView.paint(Graphics g, Shape alloc) 
          使用给定的分配和呈现表面呈现该视图。
 void BoxView.paint(Graphics g, Shape allocation) 
          使用该面给定的呈现面和区域呈现 BoxView
 void ComponentView.paint(Graphics g, Shape a) 
          真正的绘制行为自然来源于组件与其父容器(容纳此视图的同一容器)之间的关联。
 void GlyphView.paint(Graphics g, Shape a) 
          呈现一部分运行的文本样式。
 void IconView.paint(Graphics g, Shape a) 
          绘制图标。
 void ParagraphView.paint(Graphics g, Shape a) 
          使用给定的呈现面和该面上的区域进行呈现。
 void WrappedPlainView.paint(Graphics g, Shape a) 
          使用给定的呈现表面和表现上的区域来呈现。
 void FieldView.paint(Graphics g, Shape a) 
          使用给定呈现面和该表面的区域呈现。
 void PlainView.paint(Graphics g, Shape a) 
          使用给定呈现面和该表面的区域呈现。
abstract  void View.paint(Graphics g, Shape allocation) 
          使用给定的呈现表面和该表面上的区域来呈现。
protected  void BoxView.paintChild(Graphics g, Rectangle alloc, int index) 
          绘制一个子级。
 void AsyncBoxView.ChildLocator.paintChildren(Graphics g) 
          绘制与剪贴区域相交的子级。
 Shape DefaultHighlighter.DefaultHighlightPainter.paintLayer(Graphics g, int offs0, int offs1, Shape bounds, JTextComponent c, View view) 
          绘制高亮显示的某一部分。
abstract  Shape LayeredHighlighter.LayerPainter.paintLayer(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view) 
           
 void DefaultHighlighter.paintLayeredHighlights(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view) 
          当要呈现叶 View (例如,LabelView)时,要调用此方法。
abstract  void LayeredHighlighter.paintLayeredHighlights(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view) 
          当叶 View(如 LabelView)呈现时,它们应调用此方法。
 

javax.swing.text.html 中 Graphics 的使用
 

 

参数类型为 Graphics 的 javax.swing.text.html 中的方法
 void StyleSheet.BoxPainter.paint(Graphics g, float x, float y, float w, float h, View v) 
          根据给定的属性绘制 CSS 框。
 void StyleSheet.ListPainter.paint(Graphics g, float x, float y, float w, float h, View v, int item) 
          根据给定的属性绘制 CSS 列表装饰。
 void BlockView.paint(Graphics g, Shape allocation) 
          使用给定呈现面和该表面的区域呈现。
 void ImageView.paint(Graphics g, Shape a) 
          绘制 View。
 void ListView.paint(Graphics g, Shape allocation) 
          使用给定呈现面和该表面的区域呈现。
 void ParagraphView.paint(Graphics g, Shape a) 
          使用给定的呈现面和该面上的区域进行呈现。
protected  void ListView.paintChild(Graphics g, Rectangle alloc, int index) 
          通过调用 paint() 绘制其中的一个子级。
 

javax.swing.tree 中 Graphics 的使用
 

 

参数类型为 Graphics 的 javax.swing.tree 中的方法
 void DefaultTreeCellEditor.EditorContainer.paint(Graphics g) 
          重写 Container.paint 以绘制节点的图标,并使用选定的背景色。
 void DefaultTreeCellRenderer.paint(Graphics g) 
          绘制值。
 

 


JavaTM 2 Platform
Standard Ed. 
posted on 2011-01-07 22:06  幽哥  阅读(3331)  评论(0编辑  收藏  举报