Java Tutorial/Swing/UIManager

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

14. Active UIResources

   <source lang="java">

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ActiveSample {

 private static final String LABEL_FACTORY = "LabelFactory";
 public static void main (String args[]) {
       JFrame frame = new JFrame("Active Example");
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       UIManager.put(LABEL_FACTORY, new ActiveLabel());
       final JPanel panel = new JPanel();
       JButton button = new JButton("Get");
       ActionListener actionListener = new ActionListener() {
         public void actionPerformed(ActionEvent actionEvent) {
           JLabel label = (JLabel)UIManager.get(LABEL_FACTORY);
           panel.add(label);
           panel.revalidate();
         }
       };
       button.addActionListener(actionListener);
       frame.add(panel, BorderLayout.CENTER);
       frame.add(button, BorderLayout.SOUTH);
       frame.setSize(200, 200);
       frame.setVisible(true);
 }

}</source>





14. Lazy UIResources

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Color; import java.awt.ruponent; import java.awt.Graphics; import java.awt.Polygon; import javax.swing.Icon; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.UIDefaults; import javax.swing.UIManager; public class LazySample {

 public static void main(String args[]) {
   JFrame frame = new JFrame("Lazy Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Integer fifteen = new Integer(15);
   Object lazyArgs[] = new Object[] { Color.GREEN, Boolean.TRUE, fifteen, fifteen };
   Object lazyDiamond = new UIDefaults.ProxyLazyValue("MyIcon", lazyArgs);
   UIManager.put("Tree.openIcon", lazyDiamond);
   JTree tree = new JTree();
   JScrollPane scrollPane = new JScrollPane(tree);
   frame.add(scrollPane, BorderLayout.CENTER);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

} class MyIcon implements Icon {

 public MyIcon(Object obj) {
 }
 public int getIconHeight() {
   return 20;
 }
 public int getIconWidth() {
   return 20;
 }
 public void paintIcon(Component c, Graphics g, int x, int y) {
   g.setColor(Color.RED);
   g.fillRect(1,1,20,20);
 }

}</source>





14. Retrieve information of all available UIManager defaults

   <source lang="java">

import javax.swing.LookAndFeel; import javax.swing.UIManager; public class Main {

 public static void main(String[] args) {
   System.out.println("  " + UIManager.getLookAndFeel().getName());
   UIManager.LookAndFeelInfo[] inst = UIManager.getInstalledLookAndFeels();
   for (int i = 0; i < inst.length; i++) {
     System.out.println("  " + inst[i].getName());
   }
   LookAndFeel[] aux = UIManager.getAuxiliaryLookAndFeels();
   if (aux != null) {
     for (int i = 0; i < aux.length; i++) {
       System.out.println("  " + aux[i].getName());
     }
   } else {
     System.out.println("  <NONE>");
   }
   System.out.println("  " + UIManager.getCrossPlatformLookAndFeelClassName());
   System.out.println("  " + UIManager.getSystemLookAndFeelClassName());
 }

}</source>





14. UIResource Collection

UIResource ImplementationWrapped Class/InterfaceActionMapUIResourceActionMapBasicBorders.ButtonBorderBorderBasicBorders.FieldBorderBorderBasicBorders.MarginBorderBorderBasicBorders.MenuBarBorderBorderBasicBorders.RadioButtonBorderBorderBasicBorders.RolloverButtonBorderBorderBasicBorders.SplitPaneBorderBorderBasicBorders.ToggleButtonBorderBorderBasicComboBoxEditor.UIResourceComboBoxEditorBasicComboBoxRenderer.UIResourceListCellRendererBasicTextUI.BasicCaretCaretBasicTextUI.BasicHighlighterHighlighterBorderUIResourceBorderBorderUIResource.BevelBorderUIResourceBorderBorderUIResource.rupoundBorderUIResourceBorderBorderUIResource.EmptyBorderUIResourceBorderBorderUIResource.EtchedBorderUIResourceBorderBorderUIResource.LineBorderUIResourceBorderBorderUIResource.MatteBorderUIResourceBorderBorderUIResource.TitledBorderUIResourceBorderColorUIResourceColorComponentInputMapUIResourceInputMap / ComponentInputMapDefaultListCellRenderer.UIResourceListCellRendererDefaultMenuLayoutLayoutManager / LayoutManager2DefaultTableCellRenderer.UIResourceTableCellRendererDimensionUIResourceDimensionFontUIResourceFontIconUIResourceIconInputMapUIResourceInputMapInsetsUIResourceInsetsJScrollPane.ScrollBarJScrollBarMetalBorders.ButtonBorderBorderMetalBorders.Flush3DBorderBorderMetalBorders.InternalFrameBorderBorderMetalBorders.MenuBarBorderBorderMetalBorders.MenuItemBorderBorderMetalBorders.OptionDialogBorderBorderMetalBorders.PaletteBorderBorderMetalBorders.PopupMenuBorderBorderMetalBorders.RolloverButtonBorderBorderMetalBorders.ScrollPaneBorderBorderMetalBorders.TextFieldBorderBorderMetalBorders.ToggleButtonBorderBorderMetalBorders.ToolBarBorderBorderMetalCheckBoxIconIconMetalComboBoxEditor.UIResourceComboBoxEditorMetalIconFactory.PaletteCloseIconIconScrollPaneLayout.UIResourceScrollPaneLayout