JavaTM 2 Platform
Standard Ed. 6

類別 java.awt.Graphics
的使用

使用 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.awtGraphics 的使用
 

java.awtGraphics 的子類別
 class Graphics2D
          此 Graphics2D 類別擴展 Graphics 類別,以提供對幾何形狀、坐標轉換、顏色管理和文本佈局更為複雜的控制。
 

返回 Graphicsjava.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()
          為元件創建一個圖形上下文。
 

參數型別為 Graphicsjava.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 上下文中指定 CharacterIteratorLineMetrics 物件。
 LineMetrics FontMetrics.getLineMetrics(String str, Graphics context)
          返回指定 Graphics 上下文中指定 StringLineMetrics 物件。
 LineMetrics FontMetrics.getLineMetrics(String str, int beginIndex, int limit, Graphics context)
          返回指定 Graphics 上下文中指定 StringLineMetrics 物件。
 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.imageGraphics 的使用
 

返回 Graphicsjava.awt.image 中的方法
abstract  Graphics BufferStrategy.getDrawGraphics()
          創建用於繪製緩衝區的圖形上下文。
 Graphics BufferedImage.getGraphics()
          此方法返回 Graphics2D,但此處是出於向後相容性的考慮。
 Graphics VolatileImage.getGraphics()
          此方法返回 Graphics2D,但它存在於此處是出於向後相容性的考慮。
 

java.awt.printGraphics 的使用
 

參數型別為 Graphicsjava.awt.print 中的方法
 int Printable.print(Graphics graphics, PageFormat pageFormat, int pageIndex)
          將指定索引處的頁面用指定格式列印到指定的 Graphics 上下文。
 

java.beansGraphics 的使用
 

參數型別為 Graphicsjava.beans 中的方法
 void PropertyEditor.paintValue(Graphics gfx, Rectangle box)
          在螢幕實際狀態給定區域中繪製值的表示形式。
 void PropertyEditorSupport.paintValue(Graphics gfx, Rectangle box)
          在螢幕實際狀態給定區域中繪製值的表示形式。
 

javax.swingGraphics 的使用
 

javax.swingGraphics 的子類別
 class DebugGraphics
          支持圖形除錯的圖形子類別。
 

返回 Graphicsjavax.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()
          為元件創建一個圖形上下文。
 

參數型別為 Graphicsjavax.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)
 

參數型別為 Graphicsjavax.swing 中的建構子
DebugGraphics(Graphics graphics)
          根據現有圖形上下文建構一個除錯圖形上下文,該上下文支持減慢繪製。
DebugGraphics(Graphics graphics, JComponent component)
          根據現有圖形上下文建構一個除錯圖形上下文,該上下文可以減慢指定元件的繪製。
 

javax.swing.borderGraphics 的使用
 

參數型別為 Graphicsjavax.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.colorchooserGraphics 的使用
 

參數型別為 Graphicsjavax.swing.colorchooser 中的方法
 void AbstractColorChooserPanel.paint(Graphics g)
          繪製面板。
 

javax.swing.plafGraphics 的使用
 

參數型別為 Graphicsjavax.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.basicGraphics 的使用
 

參數型別為 Graphicsjavax.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 在位置 (x, y) 繪製字元串。
 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.metalGraphics 的使用
 

參數型別為 Graphicsjavax.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.multiGraphics 的使用
 

參數型別為 Graphicsjavax.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.synthGraphics 的使用
 

參數型別為 Graphicsjavax.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.textGraphics 的使用
 

返回 Graphicsjavax.swing.text 中的方法
 Graphics View.getGraphics()
          獲取用於呈現的 Graphics
 

參數型別為 Graphicsjavax.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.htmlGraphics 的使用
 

參數型別為 Graphicsjavax.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.treeGraphics 的使用
 

參數型別為 Graphicsjavax.swing.tree 中的方法
 void DefaultTreeCellEditor.EditorContainer.paint(Graphics g)
          覆寫 Container.paint 以繪製節點的圖標,並使用選定的背景色。
 void DefaultTreeCellRenderer.paint(Graphics g)
          繪製值。
 


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only