`
abian
  • 浏览: 9389 次
社区版块
存档分类
最新评论

Swing 修改UI defaults-自定义字体和样式

阅读更多

All UI defaults names for common Java look and feels on Windows, Mac OS X, and Linux

Topics: Java
Technologies: Java 5+

Each Swing look and feel has a long list of User Interface Defaults (UI defaults) used to initialize Java components with default fonts, colors, icons, borders, and more. You can get and set these defaults to tune your application's overall appearance. This article shows how to use these defaults and surveys the principal look and feels for Java on Windows, Mac OS X, and Linux, to create a long list of the names and data types for their many UI defaults.

Introduction

Every Swing look and feel has a large hash table of UIDefaults. The current look and feel's table is returned by getDefaults( ) on the UIManager, or you can get a LookAndFeel object and call its getDefaults( ) method. Entries in the hash table use String keys and values of type BooleanIntegerStringBorderColorIcon, Font, and more.

UIDefaults defaults = UIManager.getDefaults( );

Mining the UI defaults

The UI defaults table can be a gold mine of useful information about the look and feel. Want to know the default color of all buttons? Get the "Button.background" default. Need the default font for all labels? Get the "Label.font" default. Need the default width of a horizontal progress bar? Get the "ProgressBar.horizontalSize" default.

Java components use the UI defaults to initialize themselves when created. So, the color from the "Button.background" default is also available by calling getBackground( ) on a newly created button. The value for the "Label.font" default is the same as that returned by getFont( ) on a new label, and so forth.

Some values are much easier to get at through the defaults table than through the Swing API. For example, say you want the system's floppy drive icon? Using the Swing API, you need to get the system's FileSystemView object, then call getSystemIcon( ) to get the icon for a File object that points to a floppy drive. But what is the file path to a floppy drive on the current OS? Instead of figuring that out, just get the "FileView.floppyDriveIcon" UI default.

Some UI defaults aren't available through the Swing API at all. For example, say you want to build a custom scrollbar-like component that uses the same color scheme as the current look and feel. You need the scrollbar track and thumb colors, but there are no Swing API calls to get them. Instead, use the "ScrollBar.track" and "ScrollBar.thumb" defaults.

Some look and feels even include special settings and optional values within the defaults table. For example, the "Mac OS X" look and feel on a Mac includes an "InsetBorder.aquaVariant" default that you can use to create Mac-style recessed shaded panel borders. The "Metal", "Windows", and "Windows Classic" look and feels even include the resource names for sounds to play on button presses and menu choices.

The trick in using UI defaults, however, is in knowing the hash table keys to use. These are largely undocumented, and they vary a bit from one look and feel to another. To discover these keys, you need to either print them all out, or use a giant table of keys... such as in this article.

Listing UI defaults

You can print out all of the UI defaults by iterating over the hash table keys:

UIDefaults defaults = UIManager.getDefaults( );
for ( Object key: defaults.keys( ) )
{
    System.out.println( key.toString( ) + ":  " +
        defaults.get( key ).toString( ) );
}

Getting UI defaults

The generic get( ) method on UIDefaults returns an Object value, or you can use any of several type-specific methods:

Object obj    = defaults.get( key );
 
boolean bool  = defaults.getBoolean( key );
Border border = defaults.getBorder( key )
Color color   = defaults.getColor( key );
Dimension dim = defaults.getDimension( key );
Font font     = defaults.getFont( key );
Icon icon     = defaults.getIcon( key );
Insets insets = defaults.getInsets( key );
int i         = defaults.getInt( key );
String string = defaults.getString( key );

Setting UI defaults

If you put a new value into the table before constructing components, you can change the way those components are initialized. Note that changing a default only affects future component construction, and not components already built and initialized.

defaults.put( key, value );

For many look and feels, however, most of the defaults are effectively read-only. While you can change them, they won't affect component appearance. This is most often the case with buttons, check boxes, radio buttons, sliders, and scroll bars that are implemented using icons buried in the look and feel. Changing the default color of an icon-based button doesn't change the internal icon, so the next new button doesn't change color.

UI defaults tables

Below are tables with all of the UI defaults keys and data types for the following common look and feels for JDK 1.6:

  • GTK+ (native on Linux)
  • Mac OS X (native on Mac)
  • Metal (cross-platform)
  • Windows (native on Windows Vista)
  • Windows Classic (native on Windows XP)

An "X" in a look and feel's column indicates the key is available for that look and feel.

UI defaults values are not listed here. These can vary based upon a user's OS preferences settings for colors, sounds, and fonts. They can also change slightly from one OS update to the next.

Future versions of Java may add or remove defaults, so code defensively and always have a backup value if an expected key is not found in the defaults table.

While the CDE/Motif look and feel is available on all platforms, it is so old and unattractive that it isn't (and shouldn't be) used for new Java applications. Its UI defaults are not listed here.

There are many more third-party look and feels for Swing, and each has their own UI defaults. Please see the documentation for those products.

Tables: General purpose defaults

System colors

  Type GTK+ Mac OS X Metal Windows Windows
Classic activeCaption activeCaptionBorder activeCaptionText control controlDkShadow controlHighlight controlLtHighlight controlShadow controlText desktop inactiveCaption inactiveCaptionBorder inactiveCaptionText info infoText menu menuText scrollbar text textHightlight textHighlightText textInactiveText textText window windowBorder windowText
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X

Other

  Type GTK+ Mac OS X Metal Windows Windows
Classic AATextInfoPropertyKey html.missingImage html.pendingImage menuPressedItemB menuPressedItemF Synth.doNotSetTextAA
Object X     X X
Icon X     X X
Icon X     X X
Color       X X
Color       X X
Boolean X        

Tables: Basic components

ArrowButton

  Type GTK+ Mac OS X Metal Windows Windows
Classic ArrowButton.size
Integer X        

Button

  Type GTK+ Mac OS X Metal Windows Windows
Classic Button.background Button.border Button.darkShadow Button.dashedRectGapHeight Button.dashedRectGapWidth Button.dashedRectGapX Button.dashedRectGapY Button.defaultButtonFollowsFocus Button.disabledForeground Button.disabledShadow Button.disabledText Button.disabledToolBarBorderBackground Button.focus Button.focusInputMap Button.font Button.foreground Button.gradient Button.highlight Button.light Button.margin Button.rollover Button.rolloverIconType Button.opaque Button.select Button.shadow Button.showMnemonics Button.textIconGap Button.textShiftOffset Button.toolBarBorderBackground
Color X X X X X
Border X X X X X
Color X X X X X
Integer       X X
Integer       X X
Integer       X X
Integer       X X
Boolean X X X X X
Color       X X
Color       X X
Color   X X    
Color     X    
Color     X X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Object     X    
Color X X X X X
Color X X X X X
Insets   X X X X
Boolean X   X    
String     X    
Boolean   X      
Color   X X    
Color X X X X X
Boolean       X X
Integer X X X X X
Integer X X X X X
Color     X    

CheckBox

  Type GTK+ Mac OS X Metal Windows Windows
Classic CheckBox.background CheckBox.border CheckBox.darkShadow CheckBox.disabledText CheckBox.focus CheckBox.focusInputMap CheckBox.font CheckBox.foreground CheckBox.gradient CheckBox.highlight CheckBox.icon CheckBox.interiorBackground CheckBox.light CheckBox.margin CheckBox.rollover CheckBox.select Checkbox.select (lower case b) CheckBox.shadow CheckBox.textIconGap CheckBox.textShiftOffset CheckBox.totalInsets
Color X X X X X
Border X X X X X
Color       X X
Color   X X    
Color     X X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Object     X    
Color       X X
Icon X X X X X
Color       X X
Color       X X
Insets X X X X X
Boolean     X    
Color   X      
Color     X    
Color       X X
Integer X X X X X
Integer X X X X X
Insets       X X

ComboBox

  Type GTK+ Mac OS X Metal Windows Windows
Classic ComboBox.ancestorInputMap ComboBox.background ComboBox.border ComboBox.buttonBackground ComboBox.buttonDarkShadow ComboBox.buttonHighlight ComboBox.buttonShadow ComboBox.disabledBackground ComboBox.disabledForeground ComboBox.editorBorder ComboBox.font ComboBox.foreground ComboBox.isEnterSelectablePopup ComboBox.selectionBackground ComboBox.selectionForeground ComboBox.timeFactor ComboBox.togglePopupText
InputMap X X X X X
Color X X X X X
Border       X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Border       X X
Font X X X X X
Color X X X X X
Boolean X     X X
Color X X X X X
Color X X X X X
Integer X X X X X
String   X      

IconButton

  Type GTK+ Mac OS X Metal Windows Windows
Classic IconButton.font
Font   X      

Label

  Type GTK+ Mac OS X Metal Windows Windows
Classic Label.background Label.disabledForeground Label.disabledShadow Label.font Label.foreground Label.opaque
Color X X X X X
Color X X X X X
Color X X X X X
Font   X X X X
Color XX X X X X
Boolean   X      

ProgressBar

  Type GTK+ Mac OS X Metal Windows Windows
Classic ProgressBar.background ProgressBar.border ProgressBar.cellLength ProgressBar.cellSpacing ProgressBar.cycleTime ProgressBar.font ProgressBar.foreground ProgressBar.highlight ProgressBar.horizontalSize ProgressBar.indeterminateInsets ProgressBar.repaintInterval ProgressBar.selectionBackground ProgressBar.selectionForeground ProgressBar.shadow ProgressBar.verticalSize
Color X X X X X
Border X X X X X
Integer X X X X X
Integer X X X X X
Integer X X X X X
Font X X X X X
Color X X X X X
Color       X X
Dimension X X X X X
Insets       X X
Integer X X X X X
Color X X X X X
Color X X X X X
Color       X X
Dimension X X X X X

RadioButton

  Type GTK+ Mac OS X Metal Windows Windows
Classic RadioButton.background RadioButton.border RadioButton.darkShadow RadioButton.disabledText RadioButton.focus RadioButton.focusInputMap RadioButton.font RadioButton.foreground RadioButton.gradient RadioButton.highlight RadioButton.icon RadioButton.interiorBackground RadioButton.light RadioButton.margin RadioButton.rollover RadioButton.select RadioButton.shadow RadioButton.textIconGap RadioButton.textShiftOffset RadioButton.totalInsets
Color X X X X X
Border X X X X X
Color X X X X X
Color   X X    
Color     X X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Object     X    
Color X X X X X
Icon X X X X X
Color       X X
Color X X X X X
Insets X X X X X
Boolean     X    
Color   X X    
Color X X X X X
Integer X X X X X
Integer X X X X X
Insets       X X

ScrollBar

  Type GTK+ Mac OS X Metal Windows Windows
Classic ScrollBar.allowsAbsolutePositioning ScrollBar.ancestorInputMap ScrollBar.ancestorInputMap.RightToLeft ScrollBar.background ScrollBar.darkShadow ScrollBar.focusInputMap ScrollBar.focusInputMap.RightToLeft ScrollBar.foreground ScrollBar.gradient ScrollBar.highlight ScrollBar.maximumThumbSize ScrollBar.minimumThumbSize ScrollBar.shadow ScrollBar.squareButtons ScrollBar.thumb ScrollBar.thumbDarkShadow ScrollBar.thumbHeight ScrollBar.thumbHighlight ScrollBar.thumbShadow ScrollBar.track ScrollBar.trackForeground ScrollBar.trackHighlight ScrollBar.trackHighlightForeground ScrollBar.width
Boolean X   X    
InputMap X X X X X
InputMap X X X X X
Color X X X X X
Color     X    
InputMap   X      
InputMap   X      
Color X X X X X
Object     X    
Color     X    
Dimension X X X X X
Dimension X X X X X
Color     X    
Boolean X        
Color X X X X X
Color X X X X X
Integer X        
Color X X X X X
Color X X X X X
Color X X X X X
Color       X X
Color X X X X X
Color       X X
Integer X X X X X

Separator

  Type GTK+ Mac OS X Metal Windows Windows
Classic Separator.background Separator.foreground Separator.highlight Separator.insets Separator.shadow Separator.thickness
Color X   X X X
Color X X X X X
Color X X X X X
Insets X        
Color X X X X X
Integer X        

Slider

  Type GTK+ Mac OS X Metal Windows Windows
Classic Slider.altTrackColor Slider.background Slider.focus Slider.focusGradient Slider.focusInputMap Slider.focusInputMap.RightToLeft Slider.focusInsets Slider.font Slider.foreground Slider.gradient Slider.highlight Slider.horizontalSize Slider.horizontalThumbIcon Slider.majorTickLength Slider.minimumHorizontalSize Slider.minimumVerticalSize Slider.paintValue Slider.shadow Slider.thumbHeight Slider.thumbWidth Slider.tickColor Slider.trackWidth Slider.verticalSize Slider.verticalThumbIcon
Color     X    
Color X X X X X
Color X X X X X
Object     X    
InputMap X X X X X
InputMap X X X X X
Insets X X X X X
Font X     X X
Color X X X X X
Object     X    
Color X X X X X
Dimension X X X X X
Icon     X    
Integer     X    
Dimension X X X X X
Dimension X X X X X
Boolean X        
Color X X X X X
Integer X        
Integer X        
Color X X X X X
Integer     X    
Dimension X X X X X
Icon     X    

Spinner

  Type GTK+ Mac OS X Metal Windows Windows
Classic Spinner.ancestorInputMap Spinner.arrowButtonBorder Spinner.arrowButtonInsets Spinner.arrowButtonSize Spinner.background Spinner.border Spinner.disableOnBoundaryValues Spinner.editorAlignment Spinner.editorBorderPainted Spinner.font Spinner.foreground
InputMap X X X X X
Border     X    
Insets     X X X
Dimension X X X X X
Color X X X X X
Border X   X X X
True X        
Integer X X   X X
Boolean X X X X X
Font X X X X X
Color X X X X X

ToggleButton

  Type GTK+ Mac OS X Metal Windows Windows
Classic ToggleButton.background ToggleButton.border ToggleButton.darkShadow ToggleButton.disabledText ToggleButton.focus ToggleButton.focusInputMap ToggleButton.font ToggleButton.foreground ToggleButton.gradient ToggleButton.highlight ToggleButton.light ToggleButton.margin ToggleButton.select ToggleButton.shadow ToggleButton.textIconGap ToggleButton.textShiftOffset
Color X X X X X
Border X X X X X
Color X X X X X
Color   X X    
Color     X X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Object     X    
Color X X X X X
Color X X X X X
Insets X X X X X
Color     X    
Color X X X X X
Integer X X X X X
Integer X X X X X

ToolBarButton

  Type GTK+ Mac OS X Metal Windows Windows
Classic ToolBarButton.Insets ToolBarButton.margin
Insets   X      
Insets   X      

ToolTip

  Type GTK+ Mac OS X Metal Windows Windows
Classic ToolTip.background ToolTip.backgroundInactive ToolTip.border ToolTip.borderInactive ToolTip.font ToolTip.foreground ToolTip.foregroundInactive ToolTip.hideAccelerator
Color X X X X X
Color     X    
Border X X X X X
Border     X    
Font X X X X X
Color X X X X X
Color     X    
Boolean     X    

Tables: Text editing components

EditorPane

  Type GTK+ Mac OS X Metal Windows Windows
Classic EditorPane.background EditorPane.border EditorPane.caretAspectRatio EditorPane.caretBlinkRate EditorPane.caretForeground EditorPane.disabledBackground EditorPane.focusInputMap EditorPane.font EditorPane.foreground EditorPane.inactiveBackground EditorPane.inactiveForeground EditorPane.margin EditorPane.selectionBackground EditorPane.selectionForeground
Color X X X X X
Border X X X X X
Float X        
Integer X X X X X
Color X X X X X
Color       X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Color   X   X X
Color X X X X X
Insets X X X X X
Color X X X X X
Color X X X X X

FormattedTextField

  Type GTK+ Mac OS X Metal Windows Windows
Classic FormattedTextField.background FormattedTextField.border FormattedTextField.caretAspectRatio FormattedTextField.caretBlinkRate FormattedTextField.caretForeground FormattedTextField.focusInputMap FormattedTextField.font FormattedTextField.foreground FormattedTextField.inactiveBackground FormattedTextField.inactiveForeground FormattedTextField.margin FormattedTextField.selectionBackground FormattedTextField.selectionForeground
Color X X X X X
Border X X X X X
Float X        
Integer X X X X X
Color X X X X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Insets X X X X X
Color X X X X X
Color X X X X X

PasswordField

  Type GTK+ Mac OS X Metal Windows Windows
Classic PasswordField.background PasswordField.border PasswordField.caretAspectRatio PasswordField.caretBlinkRate PasswordField.caretForeground PasswordField.disabledBackground PasswordField.echoChar PasswordField.focusInputMap PasswordField.font PasswordField.foreground PasswordField.inactiveBackground PasswordField.inactiveForeground PasswordField.margin PasswordField.selectionBackground PasswordField.selectionForeground
Color X X X X X
Border X X X X X
Float X        
Integer X X X X X
Color X X X X X
Color       X X
String X X   X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Insets X X X X X
Color X X X X X
Color X X X X X

TextArea

  Type GTK+ Mac OS X Metal Windows Windows
Classic TextArea.background TextArea.border TextArea.caretAspectRatio TextArea.caretBlinkRate TextArea.caretForeground TextArea.disabledBackground TextArea.focusInputMap TextArea.font TextArea.foreground TextArea.inactiveBackground TextArea.inactiveForeground TextArea.margin TextArea.selectionBackground TextArea.selectionForeground
Color X X X X X
Border X X X X X
Float X        
Integer X X X X X
Color X X X X X
Color       X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Color   X   X X
Color X X X X X
Insets X X X X X
Color X X X X X
Color X X X X X

TextComponent

  Type GTK+ Mac OS X Metal Windows Windows
Classic TextComponent.selectionBackgroundInactive
Color   X      

TextField

  Type GTK+ Mac OS X Metal Windows Windows
Classic TextField.background TextField.border TextField.caretAspectRatio TextField.caretBlinkRate TextField.caretForeground TextField.darkShadow TextField.disabledBackground TextField.focusInputMap TextField.font TextField.foreground TextField.highlight TextField.inactiveBackground TextField.inactiveForeground TextField.light TextField.margin TextField.selectionBackground TextField.selectionForeground TextField.shadow
Color X X X X X
Border X X X X X
Float X        
Integer X X X X X
Color X X X X X
Color X X X X X
Color       X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Insets X X X X X
Color X X X X X
Color X X X X X
Color X X X X X

TextPane

  Type GTK+ Mac OS X Metal Windows Windows
Classic TextPane.background TextPane.border TextPane.caretAspectRatio TextPane.caretBlinkRate TextPane.caretForeground TextPane.disabledBackground TextPane.focusInputMap TextPane.font TextPane.foreground TextPane.inactiveBackground TextPane.inactiveForeground TextPane.margin TextPane.selectionBackground TextPane.selectionForeground
Color X X X X X
Border X X X X X
Float X        
Integer X X X X X
Color X X X X X
Color       X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Color   X   X X
Color X X X X X
Insets X X X X X
Color   X X X X
Color XX X X X X

Tables: Lists, tables, and trees

List

  Type GTK+ Mac OS X Metal Windows Windows
Classic List.background List.cellRenderer List.dropLineColor List.evenRowBackgroundPainter List.focusCellHighlightBorder List.focusInputMap List.focusInputMap.RightToLeft List.font List.foreground List.lockToPositionOnScroll List.oddRowBackgroundPainter List.selectionBackground List.selectionForeground List.sourceListBackgroundPainter List.sourceListFocusedSelectionBackgroundPainter List.sourceListSelectionBackgroundPainter List.timeFactor
Color X X X X X
CellRenderer X X X X X
Color X     X X
Border   X      
Border X X X X X
InputMap X X X X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Boolean       X X
Border   X      
Color X X X X X
Color X X X X X
Border   X      
Border   X      
Border   X      
Integer X X X X X

Table

  Type GTK+ Mac OS X Metal Windows Windows
Classic Table.ancestorInputMap Table.ancestorInputMap.RightToLeft Table.ascendingSortIcon Table.background Table.darkShadow Table.descendingSortIcon Table.dropLineColor Table.dropLineShortColor Table.focusCellBackground Table.focusCellForeground Table.focusCellHighlightBorder Table.focusSelectedCellHighlightBorder Table.font Table.foreground Table.gridColor Table.highlight Table.light Table.scrollPaneBorder Table.selectionBackground Table.selectionForeground Table.shadow Table.sortIconColor Table.sortIconHighlight Table.sortIconLight
InputMap X X X X X
InputMap X X X X X
Icon X     X X
Color X X X X X
Color       X X
Icon X     X X
Color X        
Color X        
Color X X X X X
Color X X X X X
Border X X X X X
Border X        
Font X X X X X
Color X X X X X
Color X X X X X
Color       X X
Color       X X
Border X X X X X
Color X X X X X
Color X X X X X
Color       X X
Color X     X X
Color       X X
Color       X X

TableHeader

  Type GTK+ Mac OS X Metal Windows Windows
Classic TableHeader.ancestorInputMap TableHeader.background TableHeader.cellBorder TableHeader.focusCellBackground TableHeader.font TableHeader.foreground
InputMap X     X X
Color X X X X X
Border X X X X X
Color X     X X
Font X X X X X
Color X X X X X

Tree

  Type GTK+ Mac OS X Metal Windows Windows
Classic Tree.ancestorInputMap Tree.background Tree.changeSelectionWithFocus Tree.closedIcon Tree.collapsedIcon Tree.drawDashedFocusIndicator Tree.drawHorizontalLines Tree.drawVerticalLines Tree.drawsFocusBorder Tree.drawsFocusBorderAroundIcon Tree.dropLineColor Tree.editorBorder Tree.expandedIcon Tree.expandedSize Tree.focusInputMap Tree.focusInputMap.RightToLeft Tree.font Tree.foreground Tree.hash Tree.leafIcon Tree.leafChildIndent Tree.leftChildIndent Tree.line Tree.lineTypeDashed Tree.openIcon Tree.padding Tree.paintLines Tree.repaintWholeRow Tree.rightChildIndent Tree.rowHeight Tree.scrollsHorizontallyAndVertically Tree.scrollsOnExpand Tree.selectionBackground Tree.selectionBorderColor Tree.selectionForeground Tree.textBackground Tree.textForeground Tree.timeFactor
InputMap X X X X X
Color X X X X X
Boolean X X X X X
Icon   X X X X
Icon X X X X X
Boolean       X X
Boolean X        
Boolean X        
Boolean X        
Boolean X X X X X
Color X     X X
Border X X X X X
Icon X X X X X
Integer X        
InputMap X X X X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Color X X X X X
Icon   X X X X
Integer   X X X X
Integer X        
Color   X X    
Boolean X X X X X
Icon   X X X X
Integer X        
Boolean X X X X X
Boolean X        
Integer X X X X X
Integer X X X X X
Boolean X        
Boolean X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Integer X X X X X

Tables: Panels, panes, and tool bars

Panel

  Type GTK+ Mac OS X Metal Windows Windows
Classic Panel.background Panel.font Panel.foreground Panel.opaque
Color X X X X X
Font X X X X X
Color X X X X X
Boolean   X      

RootPane

  Type GTK+ Mac OS X Metal Windows Windows
Classic RootPane.ancestorInputMap RootPane.ColorChooserDialogBorder RootPane.defaultButtonWindowKeyBindings RootPane.errorDialogBorder RootPane.fileChooserDialogBorder RootPane.frameBorder RootPane.informationDialogBorder RootPane.plainDialogBorder RootPane.questionDialogBorder RootPane.warningDialogBorder
InputMap X X X X X
Border     X    
Object X X X    
Border     X X X
Border     X    
Border     X    
Border     X    
Border     X    
Border     X    
Border     X    

ScrollPane

  Type GTK+ Mac OS X Metal Windows Windows
Classic ScrollPane.ancestorInputMap ScrollPane.ancestorInputMap.RightToLeft ScrollPane.background ScrollPane.border ScrollPane.font ScrollPane.foreground
InputMap X X X X X
InputMap X X X X X
Color X X X X X
Border X X X X X
Font X X X X X
Color X X X X X

SplitPane

  Type GTK+ Mac OS X Metal Windows Windows
Classic SplitPane.ancestorInputMap SplitPane.background SplitPane.border SplitPane.centerOneTouchButtons SplitPane.darkShadow SplitPane.dividerFocusColor SplitPane.dividerSize SplitPane.highlight SplitPane.oneTouchButtonsOpaque SplitPane.oneTouchButtonSize SplitPane.oneTouchOffset SplitPane.leftButtonText SplitPane.rightButtonText SplitPane.shadow SplitPane.supportsOneTouchButtons
InputMap X X X X X
Color X X X X X
Border X X X X X
Boolean     X    
Color X X X X X
Color     X    
Integer X X X X X
Color X X X X X
Boolean     X    
Integer X        
Integer X        
String   X      
String   X      
Color X X X X X
Boolean X        

SplitPaneDivider

  Type GTK+ Mac OS X Metal Windows Windows
Classic SplitPaneDivider.border SplitPaneDivider.draggingColor
Border X   X X X
Color X   X X X

TabbedPane

  Type GTK+ Mac OS X Metal Windows Windows
Classic TabbedPane.ancestorInputMap TabbedPane.background TabbedPane.borderHighlightColor TabbedPane.contentAreaColor TabbedPane.contentBorderInsets TabbedPane.contentOpaque TabbedPane.darkShadow TabbedPane.focus TabbedPane.focusInputMap TabbedPane.font TabbedPane.foreground TabbedPane.highlight TabbedPane.isTabRollover TabbedPane.leftTabInsets TabbedPane.light TabbedPane.opaque TabbedPane.rightTabInsets TabbedPane.selectHighlight TabbedPane.selected TabbedPane.selectedTabPadInsets TabbedPane.selectionFollowsFocus TabbedPane.shadow TabbedPane.smallFont TabbedPane.tabAreaBackground TabbedPane.tabAreaInsets TabbedPane.tabInsets TabbedPane.tabRunOverlay TabbedPane.tabsOpaque TabbedPane.tabsOverlapBorder TabbedPane.textInconGap TabbedPane.unselectedBackground TabbedPane.useSmallLayout
InputMap X X X X X
Color X X X X X
Color     X    
Color     X    
Insets X X X X X
Boolean X X X X X
Color X X X X X
Color X X X X X
InputMap X X X X X
Font X X X X X
Color X X X X X
Color X X X X X
Boolean X        
Insets   X      
Color X X X X X
Boolean   X      
Insets   X      
Color     X    
Color     X    
Insets X X X X X
Boolean X        
Color X X X X X
Font   X      
Color     X    
Insets X X X X X
Insets   X X X X
Integer X X X X X
Boolean X X X X X
Boolean X X X X X
Integer X X X X X
Color     X    
Boolean   X      

ToolBar

  Type GTK+ Mac OS X Metal Windows Windows
Classic ToolBar.ancestorInputMap ToolBar.background ToolBar.border ToolBar.borderColor ToolBar.darkShadow ToolBar.dockingBackground ToolBar.dockingForeground ToolBar.floatingBackground ToolBar.floatingForeground ToolBar.font ToolBar.foreground ToolBar.handleIcon ToolBar.highlight ToolBar.isRollover ToolBar.light ToolBar.nonrolloverBorder ToolBar.rolloverBorder ToolBar.separatorSize ToolBar.shadow
InputMap X X X X X
Color X X X X X
Border X X X X X
Color     X    
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Font X X X X X
Color X X X X X
Icon X        
Color X X X X X
Boolean     X    
Color X X X X X
Border     X    
Border     X    
Dimension X   X    
Color X X   X X

Viewport

  Type GTK+ Mac OS X Metal Windows Windows
Classic Viewport.background Viewport.font Viewport.foreground
Color X X X X X
Font X X X X X
Color X X X X X

Tables: Menu bars, menus, and menu items

CheckBoxMenuItem

  Type GTK+ Mac OS X Metal Windows Windows
Classic CheckBoxMenuItem.acceleratorDelimiter CheckBoxMenuItem.acceleratorFont CheckBoxMenuItem.acceleratorForeground CheckBoxMenuItem.acceleratorSelectionForeground CheckBoxMenuItem.arrowIcon CheckBoxMenuItem.background CheckBoxMenuItem.border CheckBoxMenuItem.borderPainted CheckBoxMenuItem.checkIcon CheckBoxMenuItem.checkIconFactory CheckBoxMenuItem.checkIconOffset CheckBoxMenuItem.commandSound CheckBoxMenuItem.disabledBackground CheckBoxMenuItem.disabledForeground CheckBoxMenuItem.evenHeight CheckBoxMenuItem.font CheckBoxMenuItem.foreground CheckBoxMenuItem.gradient CheckBoxMenuItem.margin CheckBoxMenuItem.minimumTextOffset CheckBoxMenuItem.opaque CheckBoxMenuItem.selectionBackground CheckBoxMenuItem.selectionForeground
String   X      
Font X X X X X
Color X X X X X
Color X X X X X
Icon X X X X X
Color X X X X X
Border X X X X X
Boolean X X X X X
Icon X X X X X
Object       X X
Integer       X X
String     X X X
Color   X      
Color   X X    
Boolean       X X
Font X X X X X
Color X X X X X
Object     X    
Insets X X X X X
Integer       X X
Boolean       X X
Color X X X X X
Color X X X X X

Menu

  Type GTK+ Mac OS X Metal Windows Windows
Classic Menu.acceleratorFont Menu.acceleratorForeground Menu.acceleratorSelectionForeground Menu.arrowIcon Menu.background Menu.border Menu.borderPainted Menu.checkIcon Menu.checkIconFactory Menu.checkIconOffset Menu.consumesTabs Menu.crossMenuMnemonic Menu.disabledBackground Menu.disabledForeground Menu.evenHeight Menu.font Menu.foreground Menu.margin Menu.menuPopupOffsetX Menu.menuPopupOffsetY Menu.minimumTextOffset Menu.opaque Menu.selectionBackground Menu.selectionForeground Menu.shortcutKeys Menu.submenuPopupOffsetX Menu.submenuPopupOffsetY Menu.useMenuBarBackgroundForTopLevel
Font X X X X X
Color X X X X X
Color X X X X X
Icon X X X X X
Color X X X X X
Border X X X X X
Boolean X X X X X
Icon X X X X X
Object       X X
Integer       X X
Boolean   X      
Boolean X X X    
Color   X X    
Color   X X    
Boolean       X X
Font X X X X X
Color X X X X X
Insets X X X X X
Integer X X X X X
Integer X X X X X
Integer       X X
Boolean     X X X
Color X X X X X
Color X X X X X
Object X X X X X
Integer X X X X X
Integer X X X X X
Boolean       X X

MenuBar

  Type GTK+ Mac OS X Metal Windows Windows
Classic MenuBar.background MenuBar.backgroundPainter MenuBar.border MenuBar.borderColor MenuBar.disabledBackground MenuBar.disabledForeground MenuBar.font MenuBar.foreground MenuBar.gradient MenuBar.height MenuBar.highlight MenuBar.margin MenuBar.rolloverEnabled MenuBar.selectedBackgroundPainter MenuBar.selectionBackground MenuBar.selectionForeground MenuBar.shadow MenuBar.windowBindings
Color X X X X X
Border   X      
Border X X X X X
Color     X    
Color   X      
Color   X      
Font X X X X X
Color X X X X X
Object     X    
Integer       X X
Color X X X X X
Insets   X      
Boolean       X X
Border   X      
Color   X      
Color   X      
Color X X X X X
Object X X X X X

MenuItem

  Type GTK+ Mac OS X Metal Windows Windows
Classic MenuItem.acceleratorDelimiter MenuItem.acceleratorFont MenuItem.acceleratorForeground MenuItem.acceleratorSelectionForeground MenuItem.arrowIcon MenuItem.background MenuItem.border MenuItem.borderPainted MenuItem.checkIcon MenuItem.checkIconFactory MenuItem.checkIconOffset MenuItem.commandSound MenuItem.disabledAreNavigable MenuItem.disabledBackground MenuItem.disabledForeground MenuItem.evenHeight MenuItem.font MenuItem.foreground MenuItem.margin MenuItem.minimumTextOffset MenuItem.opaque MenuItem.selectedBackgroundPainter MenuItem.selectionBackground MenuItem.selectionForeground
String X X X X X
Font X X X X X
Color X X X X X
Color X X X X X
Icon X X X X X
Color X X X X X
Border X X X X X
Boolean X X X X X
Icon   X X X X
Object       X X
Integer       X X
String     X X X
Boolean       X X
Color   X      
Color   X X X X
Boolean       X X
Font X X X X X
Color X X X X X
Insets X X X X X
Integer       X X
Boolean       X X
Border   X      
Color X X X X X
Color X X X X X

PopupMenu

  Type GTK+ Mac OS X Metal Windows Windows
Classic PopupMenu.background PopupMenu.border PopupMenu.consumeEventOnClose PopupMenu.font PopupMenu.foreground PopupMenu.popupSound PopupMenu.selectedWindowInputMapBindings PopupMenu.selectedWindowInputMapBindings.RightToLeft PopupMenu.selectionBackground PopupMenu.selectionForeground
Color X X X X X
Border X X X X X
Boolean X X X X X
Font X X X X X
Color X X X X X
String     X X X
Object X X X X X
Object X X X X X
Color   X      
Color   X      

RadioButtonMenuItem

  Type GTK+ Mac OS X Metal Windows Windows
Classic RadioButtonMenuItem.acceleratorDelimiter RadioButtonMenuItem.acceleratorFont RadioButtonMenuItem.acceleratorForeground RadioButtonMenuItem.acceleratorSelectionForeground RadioButtonMenuItem.arrowIcon RadioButtonMenuItem.background RadioButtonMenuItem.border RadioButtonMenuItem.borderPainted RadioButtonMenuItem.checkIcon RadioButtonMenuItem.checkIconFactory RadioButtonMenuItem.checkIconOffset RadioButtonMenuItem.commandSound RadioButtonMenuItem.disabledBackground RadioButtonMenuItem.disabledForeground RadioButtonMenuItem.evenHeight RadioButtonMenuItem.font RadioButtonMenuItem.foreground RadioButtonMenuItem.gradient RadioButtonMenuItem.margin RadioButtonMenuItem.minimumTextOffset RadioButtonMenuItem.opaque RadioButtonMenuItem.selectionBackground RadioButtonMenuItem.selectionForeground
String   X      
Font X X X X X
Color X X X X X
Color X X X X X
Icon X X X X X
Color X X X X X
Border X X X X X
Boolean X X X X X
Icon X X X X X
Object       X X
Integer       X X
String     X X X
Color   X      
Color   X X X X
Boolean       X X
Font X X X X X
Color X X X X X
Object     X    
Insets X X X X X
Integer       X X
Boolean       X X
Color X X X X X
Color X X X X X

Tables: Desktop and internal frames

Desktop

  Type GTK+ Mac OS X Metal Windows Windows
Classic Desktop.ancestorInputMap Desktop.background Desktop.minOnScreenInsets
InputMap X     X X
Color X     X X
Insets X     X X

DesktopIcon

  Type GTK+ Mac OS X Metal Windows Windows
Classic DesktopIcon.background DesktopIcon.border DesktopIcon.font DesktopIcon.foreground DesktopIcon.width
Color     X    
Border X X X X X
Font     X    
Color     X    
Integer     X X X

InternalFrame

  Type GTK+ Mac OS X Metal Windows Windows
Classic InternalFrame.activeBorderColor InternalFrame.activeTitleBackground InternalFrame.activeTitleForeground InternalFrame.activeTitleGradient InternalFrame.background InternalFrame.border InternalFrame.borderColor InternalFrame.borderDarkShadow InternalFrame.borderHighlight InternalFrame.borderLight InternalFrame.borderShadow InternalFrame.borderWidth InternalFrame.closeButtonToolTip InternalFrame.closeIcon InternalFrame.closeSound InternalFrame.icon InternalFrame.iconButtonToolTip InternalFrame.iconifyIcon InternalFrame.inactiveBorderColor InternalFrame.inactiveTitleBackground InternalFrame.inactiveTitleForeground InternalFrame.inactiveTitleGradient InternalFrame.layoutTitlePaneAtOrigin InternalFrame.maxButtonToolTip InternalFrame.maximizeIcon InternalFrame.maximizeSound InternalFrame.minimizeIcon InternalFrame.minimizeSound InternalFrame.opaque InternalFrame.optionDialogBackground InternalFrame.optionDialogBorder InternalFrame.optionDialogTitleFont InternalFrame.paletteBackground InternalFrame.paletteBorder InternalFrame.paletteCloseIcon InternalFrame.paletteTitleFont InternalFrame.paletteTitleHeight InternalFrame.resizeIconHighlight InternalFrame.resizeIconShadow InternalFrame.restoreButtonToolTip InternalFrame.restoreDownSound InternalFrame.restoreUpSound InternalFrame.titleButtonHeight InternalFrame.titleButtonToolTipsOn InternalFrame.titleButtonWidth InternalFrame.titleFont InternalFrame.titlePaneHeight InternalFrame.useTaskBar InternalFrame.windowBindings
Color       X X
Color   X X X X
Color   X X X X
Object     X X X
Color   X      
Border X   X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Color X X X X X
Integer       X X
String   X      
Icon X X X X X
String     X X X
Icon X   X X X
String   X      
Icon X X X X X
Color       X X
Color   X X X X
Color   X X X X
Object       X X
Boolean X     X X
String   X      
Icon X X X X X
String     X X X
Icon X X X X X
String     X X X
Boolean   X      
Color   X      
Border     X    
Color   X      
Color   X      
Border     X    
Icon     X    
Color   X      
Integer     X    
Color       X X
Color       X X
String   X      
String     X X X
String     X X X
Integer       X X
Boolean       X X
Integer       X X
Font X X X X X
Integer       X X
Boolean X        
Object X X   X X

InternalFrameTitlePane

  Type GTK+ Mac OS X Metal Windows Windows
Classic InternalFrameTitlePane.closeButtonAcessibleName InternalFrameTitlePane.closeButtonOpacity InternalFrameTitlePane.closeButtonText InternalFrameTitlePane.iconifyButtonAccessibleName InternalFrameTitlePane.iconifyButtonOpacity InternalFrameTitlePane.maximizeButtonAccessibleName InternalFrameTitlePane.maximizeButtonOpacity InternalFrameTitlePane.maximizeButtonText InternalFrameTitlePane.minimizeButtonText InternalFrameTitlePane.moveButtonText InternalFrameTitlePane.restoreButtonText InternalFrameTitlePane.sizeButtonText InternalFrameTitlePane.titlePaneLayout
String   X      
Boolean       X X
String   X      
String   X      
Boolean       X X
String   X      
Boolean       X X
String   X      
String   X      
String   X      
String   X      
String   X      
Object X        

Tables: Standard dialogs

ColorChooser

  Type GTK+ Mac OS X Metal Windows Windows
Classic ColorChooser.background ColorChooser.cancelText ColorChooser.font ColorChooser.foreground ColorChooser.hsbBlueText ColorChooser.hsbBrightnessText ColorChooser.hsbDisplayMnemonicIndex ColorChooser.hsbGreenText ColorChooser.hsbHueText ColorChooser.hsbNameText ColorChooser.hsbRedText ColorChooser.hsbSaturationText ColorChooser.okText ColorChooser.panels ColorChooser.previewText ColorChooser.resetText ColorChooser.rgbBlueText ColorChooser.rgbDisplayedMnemonicIndex ColorChooser.rgbGreenText ColorChooser.rgbNameText ColorChooser.rgbRedText ColorChooser.sampleText ColorChooser.showPreviewPanelText ColorChooser.swatchesDefaultRecentColor ColorChooser.swatchesDisplayedMnemonicIndex ColorChooser.swatchesNameText ColorChooser.swatchesRecentSwatchSize ColorChooser.swatchesRecentText ColorChooser.swatchesSwatchSize
Color X X X X X
String   X      
Font X X X X X
Color X X X X X
String   X      
String   X      
Integer   X      
String   X      
String   X      
String   X      
String   X      
String   X      
String   X      
Object X        
String   X      
String   X      
String   X      
Integer   X      
String   X      
String   X      
String   X      
String   X      
Boolean X        
Color X X X X X
Integer   X      
String   X      
Dimension X X X X X
String   X      
Dimension X X X X X

FileChooser

  Type GTK+ Mac OS X Metal Windows Windows
Classic FileChooser.acceptAllFileFilterText FileChooser.ancestorInputMap FileChooser.byDateText FileChooser.byNameText FileChooser.cancelButtonMnemonic FileChooser.cancelButtonText FileChooser.chooseButtonText FileChooser.createButtonText FileChooser.desktopName FileChooser.detailsViewIcon FileChooser.directoryDescriptionText FileChooser.directoryOpenButtonMnemonic FileChooser.directoryOpenButtonText FileChooser.fileDescriptionText FileChooser.fileNameLabelMnemonic FileChooser.fileNameLabelText FileChooser.filesOfTypeLabelMnemonic FileChooser.filesOfTypeLabelText FileChooser.helpButtonMnemonic FileChooser.helpButtonText FileChooser.homeFolderIcon FileChooser.listFont FileChooser.listViewBackground FileChooser.listViewBorder FileChooser.listViewIcon FileChooser.listViewWindowsStyle FileChooser.lookInLabelMnemonic FileChooser.mac.newFolder FileChooser.mac.newFolder.subsequent FileChooser.newFolderAccessibleName FileChooser.newFolderButtonText FileChooser.newFolderErrorSeparator FileChooser.newFolderErrorText FileChooser.newFolderExistsErrorText FileChooser.newFolderIcon FileChooser.newFolderPromptText FileChooser.newFolderTitleText FileChooser.noPlacesBar FileChooser.openButtonMnemonic FileChooser.openDialogText FileChooser.openTitleText FileChooser.readOnly FileChooser.saveButtonMnemonic FileChooser.saveButtonText FileChooser.saveDialogFileNameLabelText FileChooser.saveDialogTitleText FileChooser.saveTitleText FileChooser.untitledFileName FileChooser.untitledFolderName FileChooser.upFolderIcon FileChooser.updateButtonMnemonic FileChooser.updateButtonText FileChooser.useSystemExtensionHiding FileChooser.usesSingleFilePane
String   X      
InputMap X X X X X
String   X      
String   X      
Integer   X      
String   X      
String   X      
String   X      
String   X      
Icon X X   X X
String   X      
Integer   X      
String   X      
String   X X    
Integer   X X X X
String   X      
Integer   X X    
String   X      
Integer   X      
String   X      
Icon X X X X X
Font       X X
Color       X X
Border       X X
Icon X X X    
Boolean       X X
Integer   X X X X
String   X      
String   X      
String   X      
String   X      
String   X      
String   X      
String   X      
Icon X X X X X
String   X      
String   X      
Boolean       X X
Integer   X      
String   X      
String   X      
Boolean X X X X X
Integer   X      
String   X      
String   X      
String   X      
String   X      
String   X      
String   X      
Icon X X X X X
Integer   X      
String   X      
Boolean X X X X X
Boolean X X X X X

OptionPane

  Type GTK+ Mac OS X Metal Windows Windows
Classic OptionPane.background OptionPane.border OptionPane.buttonAreaBorder OptionPane.buttonClickThreshold OptionPane.buttonFont OptionPane.buttonMinimumWidth OptionPane.buttonOrientation OptionPane.buttonPadding OptionPane.cancelButtonMnemonic OptionPane.cancelButtonText OptionPane.errorDialog.border.background OptionPane.errorDialog.titlePane.background OptionPane.errorDialog.titlePane.foreground OptionPane.errorDialog.titlePane.shadow OptionPane.errorIcon OptioinPane.errorSound OptionPane.font OptionPane.foreground OptionPane.informationIcon OptionPane.informationSound OptionPane.inputDialogTitle OptionPane.isYesLast OptionPane.messageAreaBorder OptionPane.messageDialogTitle OptionPane.messageFont OptionPane.messageForeground OptionPane.minimumSize OptionPane.noButtonMnemonic OptionPane.noButtonText OptionPane.okButtonMnemonic OptionPane.okButtonMnemonic OptionPane.okButtonText OptionPane.questionDialog.border.background OptionPane.questionDialog.titlePane.background OptionPane.questionDialog.titlePane.foreground OptionPane.questionDialog.titlePane.shadow OptionPane.questionIcon OptionPane.questionSound OptionPane.sameSizeButtons OptionPane.setButtonMargin OptionPane.titleText OptionPane.warningDialog.border.background OptionPane.warningDialog.titlePane.background OptionPane.warningDialog.titlePane.foreground OptionPane.warningDialog.titlePane.shadow OptionPane.warningIcon OptionPane.warningSound OptionPane.windowBindings OptionPane.yesButtonMnemonic OptionPane.yesButtonText
Color X X X X X
Border X X X X X
Border X X X X X
Integer X X X X X
Font   X   X X
Integer       X X
Integer X        
Integer X        
String   X      
String   X      
Color     X    
Color     X    
Color     X    
Color     X    
Icon X X X X X
String     X X X
Font X X X X X
Color X X X X X
Icon X X X X X
String     X X X
String   X      
Boolean X        
Border X X X X X
String   X      
Font   X   X X
Color X X X X X
Dimension X X X X X
String   X      
String   X      
String   X      
String   X      
String   X      
Color     X    
Color     X    
Color     X    
Color     X    
Icon X X   X X
String     X X X
Boolean X        
Boolean X        
String   X      
Color     X    
Color     X    
Color     X    
Color     X    
Icon X X X X X
String     X X X
Object X X X X X
String   X      
String   X      

PrintingDialog

  Type GTK+ Mac OS X Metal Windows Windows
Classic PrintingDialog.abortButtonText PrintingDialog.abortButtonToolTipText PrintingDialog.contentAbortingText PrintingDialog.contentInitialText PrintingDialog.contentProgressText PrintingDialog.titleAbortingText PrintingDialog.titleProgressText
String   X      
String   X      
String   X      
String   X      
String   X      
String   X      
String   X      

Tables: Borders

InsetBorder

  Type GTK+ Mac OS X Metal Windows Windows
Classic InsetBorder.aquaVariant
Border   X      

TitledBorder

  Type GTK+ Mac OS X Metal Windows Windows
Classic TitledBorder.aquaVariant TitledBorder.border TitledBorder.font TitledBorder.titleColor
Border   X      
Border X X X X X
Font X X X X X
Color X X X X X

Tables: Miscellaneous defaults

AbstractUndoableEdit

  Type GTK+ Mac OS X Metal Windows Windows
Classic AbstractUndoableEdit.redoText AbstractUndoableEdit.undoText
String   X      
String   X      

Application

  Type GTK+ Mac OS X Metal Windows Windows
Classic Application.useSystemFontSettings
Boolean       X X

AuditoryCues

  Type GTK+ Mac OS X Metal Windows Windows
Classic AuditoryCues.allAuditoryCues AuditoryCues.cueList AuditoryCues.noAuditoryCues
Object X X   X X
Object X X   X X
Object X X   X X

FileView

  Type GTK+ Mac OS X Metal Windows Windows
Classic FileView.computerIcon FileView.directoryIcon FileView.fileIcon FileView.floppyDriveIcon FileView.hardDriveIcon
Icon X X X X X
Icon X X X X X
Icon X X X X X
Icon X X X X X
Icon X X X X X

Focus

  Type GTK+ Mac OS X Metal Windows Windows
Classic Focus.Color
Color   X      

IsindexView

  Type GTK+ Mac OS X Metal Windows Windows
Classic IsindexView.prompt
String   X      

ProgressMonitor

  Type GTK+ Mac OS X Metal Windows Windows
Classic ProgressMonitor.progressText
String   X      

ToolTipManager

  Type GTK+ Mac OS X Metal Windows Windows
Classic ToolTipManager.enableToolTipMode
String X     X X
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics