Java Tutorial/Swing/Client Property

Материал из Java эксперт
Перейти к: навигация, поиск

14. Client Property

Each instance of every component can manage its own set of key/value pairs.



   <source lang="java">

public final void putClientProperty(Object key, Object value) public final Object getClientProperty(Object key)</source>





14. Swing"s Client Properties Summary Table

   <source lang="java">

Class Accessed By Property Name Type AbstractButton hideActionText Boolean AbstractButton html / BasicHTML.propertyKey View BasicButtonListener initialDefaultButton JButton BasicButtonUI html / BasicHTML.propertyKey View BasicComboBoxUI JComboBox.isTableCellEditor / Boolean

                            BasicComboBoxUI.IS_TABLE_CELL_EDITOR
 

BasicEditorPaneUI JEditorPane.honorDisplayProperties / Boolean

                            JEditorPane.HONOR_DISPLAY_PROPERTIES

BasicEditorPaneUI JEditorPane.w3cLengthUnits / Boolean

                            JEditorPane.W3C_LENGTH_UNITS
 

BasicHTML html.base / URL

                            BasicHTML.documentBaseKey
 

BasicHTML html / BasicHTML.propertyKey View BasicHTML html.disable / Boolean

                            BasicHTML.htmlDisable

BasicLabelUI html / BasicHTML.propertyKey View BasicListUI List.isFileList Boolean BasicMenuItemUI html / BasicHTML.propertyKey View BasicMenuItemUI maxTextWidth / Integer

                            BasicMenuItemUI.MAX_TEXT_WIDTH

BasicMenuItemUI maxAccWidth / Integer

                            BasicMenuItemUI.MAX_ACC_WIDTH
 

BasicPopupMenuUI doNotCancelPopup Boolean BasicRadioButtonUI html / BasicHTML.propertyKey View BasicRootPaneUI temporaryDefaultButton Object BasicSliderUI Slider.paintThumbArrowShape Boolean BasicTabbedPaneUI __index_to_remove__ Integer BasicTableUI Table.isFileList Boolean BasicTextUI JPasswordField.cutCopyAllowed Boolean BasicToggleButtonUI html / BasicHTML.propertyKey View BasicToolBarUI JToolBar.focusedCompIndex / Integer

                            BasicToolBarUI. FOCUSED_COMP_INDEX
 

BasicToolBarUI JToolBar.isRollover / Boolean

                            BasicToolBarUI. IS_ROLLOVER
 

BasicToolTipUI html / BasicHTML.propertyKey View BluePrintEngine __arrow_direction__ Integer DefaultCaret caretAspectRatio Number DefaultCaret caretWidth Integer DefaultCaret JPasswordField.cutCopyAllowed Boolean DefaultDesktopManager JDesktopPane.dragMode String; valid values are null, outline, and faster FrameView charset String GTKFileChooserUI GTKFileChooser.showDirectoryIcons Boolean GTKFileChooserUI GTKFileChooser.showFileIcons Boolean JInternalFrame wasIconOnce / Boolean

                            DefaultDesktopManager.HAS_BEEN_ICONIFIED_PROPERTY

JComponent nextFocus / JComponent.NEXT_FOCUS Component JComponent InputVerifier / InputVerifier

                            JComponent.INPUT_VERIFIER_KEY
 

JComponent _WhenInFocusedWindow / Hashtable

                            JComponent.WHEN_IN_FOCUSED_WINDOW_BINDINGS

JComponent ToolTipText / String

                            JComponent.TOOL_TIP_TEXT_KEY

JComponent TransferHandler / TransferHandler

                            JComponent.TRANSFER_HANDLER_KEY

JComponent AncestorNotifier / AncestorNotifier

                            JComponent.ANCESTOR_NOTIFIER_KEY
 

JComponent labeledBy / JComponent / Accessible

                            JLabel.LABELED_BY_PROPERTY
 

JEditorPane charset String JLabel html / BasicHTML.propertyKey View JLayeredPane layeredContainerLayer / Integer

                            JLayeredPane.LAYER_PROPERTY
 

JPasswordField JPasswordField.cutCopyAllowed Boolean JPopupMenu JPopupMenu.firePopupMenuCanceled Boolean JTable JTable.autoStartsEdit Boolean JTable terminateEditOnFocusLost Boolean JToolBar JToolBar.isRollover Boolean MetalBorders NoButtonRollover / Boolean

                            MetalBorders.NO_BUTTON_ROLLOVER

MetalBorders JInternalFrame.messageType Integer MetalFileChooserUI FileChooser.useShellFolder Boolean MetalIconFactory paintActive Boolean MetalInternalFrame TitlePane JInternalFrame.messageType Integer MetalInternalFrameUI JInternalFrame.isPalette / Boolean

                            MetalInternalFrameUI.IS_PALETTE

MetalRadioButtonUI html / BasicHTML.propertyKey View MetalScrollBarUI JScrollBar.isFreeStanding / Boolean

                            MetalScrollBarUI.FREE_STANDING_PROP
 

MetalSliderUI JSlider.isFilled / Boolean

                            MetalSliderUI.SLIDER_FILL

MetalTreeUI JTree.lineStyle / String; valid values are Angled (MetalTreeUI. LEG_LINE_STYLE_STRING), Horizontal (MetalTreeUI .HORIZ_STYLE_STRING), and None (MetalTreeUI. NO_STYLE_STRING)

                            MetalTreeUI.LineStyle

MotifGraphicsUtils html / BasicHTML.propertyKey View MotifGraphicsUtils maxAccWidth / Integer

                            MotifGraphicsUtils.MAX_ACC_WIDTH

PopupFactory __force_heavy_weight_popup__ / Boolean

                            PopupFactory.forceHeavyWeightPopupKey

SpringLayout SpringLayout.class SpringLayout. Constraints SwingUtilities html / BasicHTML.propertyKey View SynthEditorPaneUI JEditorPane.honorDisplayProperties / Boolean

                            JEditorPane.HONOR_DISPLAY_PROPERTIES

SynthGraphicUtils html / BasicHTML.propertyKey View SynthMenuItemUI html / BasicHTML.propertyKey View SynthToolTipUI html / BasicHTML.propertyKey View WindowsDesktopManager JInternalFrame.frameType String; valid values are null and optionDialog WindowsFileChooserUI FileChooser.useShellFolder Boolean WindowsSliderUI Slider.paintThumbArrowShape Boolean WindowsToolBarUI XPStyle.subclass String</source>





14. Using JTree client property: Produce horizontal lines between level-one nodes

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Color; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.UIManager; class TreeNodeVector<E> extends Vector<E> {

 String name;
 TreeNodeVector(String name) {
   this.name = name;
 }
 TreeNodeVector(String name, E elements[]) {
   this.name = name;
   for (int i = 0, n = elements.length; i < n; i++) {
     add(elements[i]);
   }
 }
 public String toString() {
   return "[" + name + "]";
 }

} public class ChangingTreeLineStyleColorHorizontal {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("JTreeSample");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Vector<String> v1 = new TreeNodeVector<String>("Two", new String[] { "Mercury", "Venus",
       "Mars" });
   Vector<Object> v2 = new TreeNodeVector<Object>("Three");
   v2.add(System.getProperties());
   v2.add(v1);
   Object rootNodes[] = {v1, v2 };
   Vector<Object> rootVector = new TreeNodeVector<Object>("Root", rootNodes);
   JTree tree = new JTree(rootVector);
   UIManager.put("Tree.line", Color.GREEN);
   tree.putClientProperty("JTree.lineStyle", "Horizontal");
   
   frame.add(new JScrollPane(tree), BorderLayout.CENTER);
   frame.setSize(300, 300);
   frame.setVisible(true);
   
 }

}</source>