📄 rootwindowproperties.java
字号:
.setShadowEnabled(true);
tabWindowProperties.getTabbedPanelProperties().getTabAreaComponentsProperties().getComponentProperties()
.setInsets(new Insets(1, 3, 1, 3));
tabWindowProperties.getCloseButtonProperties()
.setFactory(DefaultButtonFactories.getCloseButtonFactory())
.setVisible(true)
.setTo(CloseWithAbortWindowAction.INSTANCE);
tabWindowProperties.getRestoreButtonProperties()
.setFactory(DefaultButtonFactories.getRestoreButtonFactory())
.setVisible(true)
.setTo(RestoreWithAbortWindowAction.INSTANCE);
tabWindowProperties.getMinimizeButtonProperties()
.setFactory(DefaultButtonFactories.getMinimizeButtonFactory())
.setVisible(true)
.setTo(MinimizeWithAbortWindowAction.INSTANCE);
tabWindowProperties.getMaximizeButtonProperties()
.setFactory(DefaultButtonFactories.getMaximizeButtonFactory())
.setVisible(true)
.setTo(MaximizeWithAbortWindowAction.INSTANCE);
tabWindowProperties.getUndockButtonProperties()
.setFactory(DefaultButtonFactories.getUndockButtonFactory())
.setVisible(true)
.setTo(UndockWithAbortWindowAction.INSTANCE);
tabWindowProperties.getDockButtonProperties()
.setFactory(DefaultButtonFactories.getDockButtonFactory())
.setVisible(true)
.setTo(DockWithAbortWindowAction.INSTANCE);
TabbedPanelButtonProperties buttonProps = tabWindowProperties.getTabbedPanelProperties().getButtonProperties();
buttonProps.getTabDropDownListButtonProperties().setToolTipText("Tab List");
buttonProps.getScrollLeftButtonProperties().setToolTipText("Scroll Left");
buttonProps.getScrollRightButtonProperties().setToolTipText("Scroll Right");
buttonProps.getScrollUpButtonProperties().setToolTipText("Scroll Up");
buttonProps.getScrollDownButtonProperties().setToolTipText("Scroll Down");
}
private static void setWindowBarProperties() {
{
WindowBarProperties p = DEFAULT_VALUES.getWindowBarProperties();
p.setMinimumWidth(4);
p.setContentPanelEdgeResizeEdgeDistance(6);
p.setContinuousLayoutEnabled(true);
p.setDragIndicatorColor(Color.DARK_GRAY);
p.getTabWindowProperties().getTabbedPanelProperties()
.setTabDeselectable(true)
.setAutoSelectTab(false)
.getTabAreaComponentsProperties()
.setStretchEnabled(true)
.getComponentProperties()
.setBorder(new TabAreaLineBorder());
p.getTabWindowProperties().getTabbedPanelProperties().getContentPanelProperties().getComponentProperties()
.setInsets(new Insets(4, 4, 4, 4));
p.getTabWindowProperties().getTabbedPanelProperties().getContentPanelProperties().getShapedPanelProperties()
.setOpaque(true);
p.getTabWindowProperties().getTabbedPanelProperties().getTabAreaProperties().setTabAreaVisiblePolicy(
TabAreaVisiblePolicy.ALWAYS);
}
{
WindowTabProperties p = DEFAULT_VALUES.getWindowBarProperties().getTabWindowProperties().getTabProperties();
p.getTitledTabProperties()
.setSizePolicy(TitledTabSizePolicy.EQUAL_SIZE)
// .addSuperObject(HighlightedTabSetup.createTabProperties())
.setHighlightedRaised(0);
/* p.getFocusedProperties()
.setBackgroundColor(Color.YELLOW);
*/
p.getTitledTabProperties().getNormalProperties()
.getComponentProperties().setInsets(new Insets(1, 4, 1, 4));
p.getNormalButtonProperties().getCloseButtonProperties().setVisible(true);
p.getNormalButtonProperties().getRestoreButtonProperties().setVisible(true);
p.getNormalButtonProperties().getUndockButtonProperties().setVisible(true);
p.getNormalButtonProperties().getDockButtonProperties().setVisible(true);
}
}
private static void setFloatingWindowProperties() {
for (int i = 0; i < ComponentProperties.PROPERTIES.getPropertyCount(); i++) {
Property property = ComponentProperties.PROPERTIES.getProperty(i);
FloatingWindowProperties.COMPONENT_PROPERTIES.get(DEFAULT_VALUES.getFloatingWindowProperties().getMap()).
createRelativeRef(property,
RootWindowProperties.WINDOW_AREA_PROPERTIES.get(DEFAULT_VALUES.getMap()),
property);
}
for (int i = 0; i < ShapedPanelProperties.PROPERTIES.getPropertyCount(); i++) {
Property property = ShapedPanelProperties.PROPERTIES.getProperty(i);
FloatingWindowProperties.SHAPED_PANEL_PROPERTIES.get(DEFAULT_VALUES.getFloatingWindowProperties().getMap()).
createRelativeRef(property,
RootWindowProperties.WINDOW_AREA_SHAPED_PANEL_PROPERTIES.get(DEFAULT_VALUES.getMap()),
property);
}
DEFAULT_VALUES.getFloatingWindowProperties().setAutoCloseEnabled(true);
DEFAULT_VALUES.getFloatingWindowProperties().setUseFrame(false);
}
private static void setViewTitleBarProperties() {
ViewTitleBarProperties props = DEFAULT_VALUES.getViewProperties().getViewTitleBarProperties();
props.setOrientation(Direction.UP).setDirection(Direction.RIGHT).getNormalProperties().setTitleVisible(true)
.setIconVisible(true);
ViewTitleBarStateProperties stateProps = props.getNormalProperties();
stateProps.setButtonSpacing(0);
stateProps.getUndockButtonProperties()
.setFactory(DefaultButtonFactories.getUndockButtonFactory())
.setVisible(true)
.setTo(UndockWithAbortWindowAction.INSTANCE);
stateProps.getDockButtonProperties()
.setFactory(DefaultButtonFactories.getDockButtonFactory())
.setVisible(true)
.setTo(DockWithAbortWindowAction.INSTANCE);
stateProps.getCloseButtonProperties()
.setFactory(DefaultButtonFactories.getCloseButtonFactory())
.setVisible(true)
.setTo(CloseWithAbortWindowAction.INSTANCE);
stateProps.getRestoreButtonProperties()
.setFactory(DefaultButtonFactories.getRestoreButtonFactory())
.setVisible(true)
.setTo(RestoreViewWithAbortTitleBarAction.INSTANCE);
stateProps.getMinimizeButtonProperties()
.setFactory(DefaultButtonFactories.getMinimizeButtonFactory())
.setVisible(true)
.setTo(MinimizeWithAbortWindowAction.INSTANCE);
stateProps.getMaximizeButtonProperties()
.setFactory(DefaultButtonFactories.getMaximizeButtonFactory())
.setVisible(true)
.setTo(MaximizeWithAbortWindowAction.INSTANCE);
stateProps.getMap().createRelativeRef(ViewTitleBarStateProperties.TITLE,
DEFAULT_VALUES.getViewProperties().getMap(),
ViewProperties.TITLE);
stateProps.getMap().createRelativeRef(ViewTitleBarStateProperties.ICON,
DEFAULT_VALUES.getViewProperties().getMap(),
ViewProperties.ICON);
}
private static void updateVisualProperties() {
DEFAULT_VALUES.getWindowBarProperties().getTabWindowProperties().getTabProperties().getTitledTabProperties()
.getNormalProperties().getComponentProperties().setBackgroundColor(
TabbedUIDefaults.getHighlightedStateBackground());
Color shadowColor = UIManagerUtil.getColor("controlDkShadow", Color.BLACK);
DEFAULT_VALUES.getWindowAreaProperties()
.setBorder(new LineBorder(shadowColor))
.setBackgroundColor(UIManagerUtil.getColor("Desktop.background", "control"));
DEFAULT_VALUES.getWindowAreaShapedPanelProperties().setOpaque(true);
DEFAULT_VALUES.getDragLabelProperties()
.setBorder(new LineBorder(shadowColor))
.setFont(UIManagerUtil.getFont("ToolTip.font"))
.setForegroundColor(UIManagerUtil.getColor("ToolTip.foreground", "controlText"))
.setBackgroundColor(UIManagerUtil.getColor("ToolTip.background", "control"));
DEFAULT_VALUES
.setRecursiveTabsEnabled(true);
}
private static void updateFont() {
Font font = TitledTabProperties.getDefaultProperties().getHighlightedProperties().
getComponentProperties().getFont();
if (font != null)
font = font.deriveFont(Font.BOLD);
DEFAULT_VALUES.getTabWindowProperties().getTabProperties().getTitledTabProperties().
getHighlightedProperties().getComponentProperties().setFont(font);
}
private static void updateViewTitleBarProperties() {
ViewTitleBarProperties props = DEFAULT_VALUES.getViewProperties().getViewTitleBarProperties();
Font font = TabbedUIDefaults.getFont();
if (font != null)
font = font.deriveFont(Font.BOLD);
props.getNormalProperties().getComponentProperties().setFont(font).setForegroundColor(
UIManager.getColor("InternalFrame.inactiveTitleForeground"))
.setBackgroundColor(UIManager.getColor("InternalFrame.inactiveTitleBackground"))
.setInsets(new Insets(2, 2, 2, 2));
props.getFocusedProperties().getComponentProperties().setForegroundColor(
UIManager.getColor("InternalFrame.activeTitleForeground"))
.setBackgroundColor(UIManager.getColor("InternalFrame.activeTitleBackground"));
Color c1 = UIManager.getColor("InternalFrame.inactiveTitleBackground");
Color c2 = UIManager.getColor("InternalFrame.inactiveTitleGradient");
ComponentPainter backgroundPainter;
if (c1 == null)
backgroundPainter = null;
else if (c1.equals(c2) || c2 == null)
backgroundPainter = new SolidColorComponentPainter(new FixedColorProvider(c1));
else
backgroundPainter = new GradientComponentPainter(c2, c2, c1, c1);
props.getNormalProperties().getShapedPanelProperties().setComponentPainter(backgroundPainter).setOpaque(true);
Color focused1 = UIManager.getColor("InternalFrame.activeTitleBackground");
Color focused2 = UIManager.getColor("InternalFrame.activeTitleGradient");
ComponentPainter focusedPainter;
if (focused1 == null)
focusedPainter = null;
else if (focused1.equals(focused2) || focused2 == null)
focusedPainter = new SolidColorComponentPainter(new FixedColorProvider(focused1));
else
focusedPainter = new GradientComponentPainter(focused2, focused2, focused1, focused1);
props.getFocusedProperties().getShapedPanelProperties().setComponentPainter(focusedPainter);
props.getFocusedProperties().getComponentProperties().setForegroundColor(
UIManager.getColor("InternalFrame.activeTitleForeground"));
props.setContentTitleBarGap(0).getNormalProperties().setIconTextGap(TabbedUIDefaults.getIconTextGap());
}
static {
DEFAULT_VALUES = new RootWindowProperties(PROPERTIES.getDefaultMap());
DEFAULT_VALUES
.setAbortDragKey(TabbedPanelProperties.getDefaultProperties().getAbortDragKey())
.setEdgeSplitDistance(6)
.setDragRectangleBorderWidth(5);
DEFAULT_VALUES.getShapedPanelProperties().setOpaque(true);
DEFAULT_VALUES.getDockingWindowProperties()
.setMaximizeEnabled(true)
.setMinimizeEnabled(true)
.setCloseEnabled(true)
.setRestoreEnabled(true)
.setDragEnabled(true)
.setUndockEnabled(true)
.setUndockOnDropEnabled(true)
.setDockEnabled(true);
DEFAULT_VALUES.getDockingWindowProperties().getDropFilterProperties()
.setChildDropFilter(AcceptAllDropFilter.INSTANCE)
.setInsertTabDropFilter(AcceptAllDropFilter.INSTANCE)
.setInteriorDropFilter(AcceptAllDropFilter.INSTANCE)
.setSplitDropFilter(AcceptAllDropFilter.INSTANCE);
DEFAULT_VALUES.getWindowAreaProperties()
.setInsets(new Insets(6, 6, 2, 2));
DEFAULT_VALUES.getDragLabelProperties()
.setInsets(new Insets(4, 6, 4, 6));
DEFAULT_VALUES.getDragRectangleShapedPanelProperties().setOpaque(false);
DEFAULT_VALUES.getSplitWindowProperties()
.setContinuousLayoutEnabled(true)
.setDividerSize(4)
.setDividerLocationDragEnabled(true)
.setDragIndicatorColor(Color.DARK_GRAY);
DEFAULT_VALUES.getViewProperties().setAlwaysShowTitle(true);
setTabbedPanelProperties();
setTabProperties();
setWindowBarProperties();
setViewTitleBarProperties();
setFloatingWindowProperties();
updateVisualProperties();
updateViewTitleBarProperties();
updateFont();
TitledTabProperties.getDefaultProperties().getHighlightedProperties().getComponentProperties().getMap().
addListener(new PropertyMapListener() {
public void propertyValuesChanged(PropertyMap propertyObject, Map changes) {
updateFont();
}
});
DynamicUIManager.getInstance().addListener(new DynamicUIManagerListener() {
public void lookAndFeelChanged() {
PropertyMapManager.runBatch(new Runnable() {
public void run() {
updateVisualProperties();
updateViewTitleBarProperties();
}
});
}
public void propertiesChanged() {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -