当前位置: 首页>>代码示例>>Java>>正文


Java ComponentUI.installUI方法代码示例

本文整理汇总了Java中javax.swing.plaf.ComponentUI.installUI方法的典型用法代码示例。如果您正苦于以下问题:Java ComponentUI.installUI方法的具体用法?Java ComponentUI.installUI怎么用?Java ComponentUI.installUI使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.swing.plaf.ComponentUI的用法示例。


在下文中一共展示了ComponentUI.installUI方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: fixUnserializedJComponent

import javax.swing.plaf.ComponentUI; //导入方法依赖的package包/类
/**
 * Hack: Mimics the code of JComponent.writeObject() to install back
 * ComponentUI of the component if it was not done due to interrupted
 * serialization. Calling private methods and accessing private field
 * via reflection, yuck...
 */
private static void fixUnserializedJComponent(JComponent comp) {
    try {
        Method getWriteObjCounter_Method = JComponent.class
            .getDeclaredMethod("getWriteObjCounter", JComponent.class); // NOI18N
        getWriteObjCounter_Method.setAccessible(true);
        Method setWriteObjCounter_Method = JComponent.class
            .getDeclaredMethod("setWriteObjCounter", JComponent.class, Byte.TYPE); // NOI18N
        setWriteObjCounter_Method.setAccessible(true);
        Field ui_Field = JComponent.class.getDeclaredField("ui"); // NOI18N
        ui_Field.setAccessible(true);

        byte count = ((Byte)getWriteObjCounter_Method.invoke(null, comp)).byteValue();
        if (count > 0) { // counter not 0, serialization has not finished
            count = 0;
            setWriteObjCounter_Method.invoke(null, comp, count);
            // reinstall ComponentUI
            LOGGER.log(Level.INFO, "Reinstalling ComponentUI after interrupted serialization of component: {0}", comp); // NOI18N
            ComponentUI ui = (ComponentUI) ui_Field.get(comp);
            ui.installUI(comp);
        }
    } catch (Exception ex) {
        LOGGER.log(Level.INFO, "Reinstalling ComponentUI after interrupted serialization of JComponent failed", ex); // NOI18N
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:31,代码来源:FormUtils.java

示例2: installListeners

import javax.swing.plaf.ComponentUI; //导入方法依赖的package包/类
/**
 * Strips off the UI's mouse listeners attached to the associated toolbar
 * and replaces them with this handler's listeners.
 */
private void installListeners() {
    if (!ourVersionIsCompatible)
        return;

    ourToolBar.removePropertyChangeListener("UI", ourUIListener);

    // Uninstall the current ui, collect the remaining listeners
    // on the toolbar, and reinstall the ui...
    final ComponentUI ui = ourToolBar.getUI();
    ui.uninstallUI(ourToolBar);
    final java.util.List mList = Arrays.asList(ourToolBar
            .getListeners(MouseListener.class));

    final java.util.List mmList = Arrays.asList(ourToolBar
            .getListeners(MouseMotionListener.class));
    ui.installUI(ourToolBar);

    // ...then remove the listeners that were added by the ui...
    final MouseListener[] ml = ourToolBar
            .getListeners(MouseListener.class);
    final MouseMotionListener[] mml = ourToolBar
            .getListeners(MouseMotionListener.class);

    for (int i = 0; i < ml.length; i++) {
        if (!mList.contains(ml[i]))
            ourToolBar.removeMouseListener(ml[i]);
    }

    for (int i = 0; i < mml.length; i++) {
        if (!mmList.contains(mml[i]))
            ourToolBar.removeMouseMotionListener(mml[i]);
    }

    // ...and add our listeners to the toolbar.
    ourToolBar.addMouseListener(ourDragListener);
    ourToolBar.addMouseMotionListener(ourDragListener);
    ourToolBar.addPropertyChangeListener("UI", ourUIListener);
}
 
开发者ID:Vitaliy-Yakovchuk,项目名称:ramus,代码行数:43,代码来源:Handler.java


注:本文中的javax.swing.plaf.ComponentUI.installUI方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。