當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。