⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 desktop.java

📁 OSGI这是一个中间件,与UPNP齐名,是用于移植到嵌入式平台之上
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
      dispTracker.open();    } catch (Exception e) {      Activator.log.error("Failed to create tracker", e);    }    bundleSelModel.addBundleSelectionListener(this);    Activator.getBC().addBundleListener(this);    Activator.getBC().addFrameworkListener(this);    if(Activator.getBC() != Activator.getTargetBC()) {      Activator.getTargetBC().addBundleListener(this);      Activator.getTargetBC().addFrameworkListener(this);    }    consoleSwing.getJComponent().requestFocus();  }  JButton toolStartBundles;  JButton toolStopBundles;  JButton toolUpdateBundles;  JButton toolUninstallBundles;  void setRemote(boolean b) {    menuRemote.setEnabled(b);    buttonRemote.setEnabled(b);  }  JToolBar makeToolBar() {    return new JToolBar() {        {          add(toolStartBundles = new JButton(openIcon) {              {                addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent ev) {                      addBundle();                    }                  });                setToolTipText(Strings.get("menu_openbundles"));              }            });          add(new JButton(openURLIcon) {              {                addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent ev) {                      addBundleURL();                    }                  });                setToolTipText(Strings.get("menu_openbundleurl"));              }            });          add(toolStartBundles = new JButton(saveIcon) {              {                addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent ev) {                      save();                    }                  });                setToolTipText(Strings.get("menu_save"));              }            });          add(buttonRemote = new JButton(connectIcon) {              {                addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent ev) {                      doConnect();                    }                  });                setToolTipText(Strings.get("menu_remotefw"));              }            });          //          add(new JToolBar.Separator());          add(toolStartBundles = new JButton(startIcon) {              {                addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent ev) {                      Bundle[] bl = getSelectedBundles();                      for(int i = 0; i < bl.length; i++) {                        Bundle b = bl[i];                        startBundle(b);                      }                    }                  });                setToolTipText(Strings.get("tt_startbundle"));              }            });          add(toolStopBundles = new JButton(stopIcon) {              {                addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent ev) {                      if(isEnabled()) {                        stopBundles(getSelectedBundles());                      }                    }                  });                setToolTipText(Strings.get("tt_stopbundle"));              }            });          add(toolUpdateBundles = new JButton(updateIcon) {              {                addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent ev) {                      Bundle[] bl = getSelectedBundles();                      for(int i = 0; i < bl.length; i++) {                        updateBundle(bl[i]);                      }                    }                  });                setToolTipText(Strings.get("tt_updatebundle"));              }            });          add(toolUninstallBundles = new JButton(uninstallIcon) {              {                addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent ev) {                      Bundle[] bl = getSelectedBundles();                      for(int i = 0; i < bl.length; i++) {                        uninstallBundle(bl[i], true);                      }                    }                  });                setToolTipText(Strings.get("tt_uninstallbundle"));              }            });          add(viewSelection = makeViewSelectionButton());          StartLevel sls = (StartLevel)slTracker.getService();          if(null == sls) {            add(new JLabel(Strings.get("nostartlevel.label")));          } else {            add(makeStartLevelSelector());            add(levelBox);          }        }      };  }  JComponent makeStartLevelSelector() {    StartLevel sls =      (StartLevel)slTracker.getService();    Activator.log.debug("has start level service");    JPanel panel = new JPanel();    panel.add(new JLabel(Strings.get("startlevel.label")));    levelBox = new JComboBox();    updateLevelItems();    levelBox.setSelectedIndex(sls.getStartLevel() - levelMin);    levelBox.addActionListener(new ActionListener() {        public void actionPerformed(ActionEvent ev) {          if(levelBox.getSelectedIndex() == -1) {            return;          }          // Delay actual setting to avoid flipping thru          // levels quickly.          SwingUtilities.invokeLater(new Runnable() {              public void run() {                Thread t = new Thread() {                  public void run() {                    try {                      Thread.sleep(500);                      setFWStartLevel();                    } catch (Exception e) {                      Activator.log.error("Failed to set start level");                    }                  }                };                t.start();              }            });        }      });    panel.add(levelBox);    return panel;  }  void setFWStartLevel() {    int level = levelBox.getSelectedIndex() + levelMin;    StartLevel sls =      (StartLevel)slTracker.getService();    if(sls != null) {      if(sls.getStartLevel() == level) {        return;      }    }    int myLevel = level;    try {      myLevel = sls.getBundleStartLevel(Activator.getTargetBC().getBundle());    } catch (IllegalArgumentException ignored) {    }    boolean bOK = true;    if(level < myLevel) {      bOK = false;      Object[] options = {Strings.get("yes"),                          Strings.get("cancel")};      int n =JOptionPane        .showOptionDialog(frame,                          Strings.get("q_stopdesktop"),                          Strings.get("msg_stopdesktop"),                          JOptionPane.YES_NO_OPTION,                          JOptionPane.QUESTION_MESSAGE,                          null,                                options,                          options[1]);      if(n == 0) {        bOK = true;      }    }    if(bOK) {      setStartLevel(level);    } else {      if(sls != null) {        levelBox.setSelectedIndex(sls.getStartLevel() - levelMin);      }    }  }  JButton makeViewSelectionButton() {    // view selection button    JButton viewButton = new JButton(viewIcon);    makeViewPopupMenu();    viewButton.addMouseListener(new MouseAdapter()      {        public void mousePressed(MouseEvent e) {          showPopup(e);        }        public void mouseReleased(MouseEvent e) {          showPopup(e);        }        private void showPopup(MouseEvent e) {          if (viewPopupMenu != null) {            Component comp = e.getComponent();            viewPopupMenu.show(comp, 0, comp.getSize().height);          }        }      });    // end view selection button    return viewButton;  }  JPopupMenu viewPopupMenu;  void makeViewPopupMenu() {    viewPopupMenu = new JPopupMenu();    for(Iterator it = displayMap.keySet().iterator(); it.hasNext(); ) {      ServiceReference     sr   = (ServiceReference)it.next();      SwingBundleDisplayer disp = (SwingBundleDisplayer)displayMap.get(sr);      final String key          = (String)sr.getProperty(SwingBundleDisplayer.PROP_NAME);      JMenuItem item = new JMenuItem(key);      item.addActionListener(new ActionListener() {          public void actionPerformed(ActionEvent ev) {            bundlePanel.showTab(key);          }        });      viewPopupMenu.add(item);    }  }  void updateLevelItems() {    StartLevel sls =      (StartLevel)slTracker.getService();    if(sls != null) {      levelMax = Math.max(levelMax, sls.getStartLevel());    }    levelItems = new String[levelMax - levelMin + 1];    Bundle[] bundles = Activator.getTargetBC().getBundles();    Object selObj = null;    for(int i = levelMin; i <= levelMax; i++) {      StringBuffer sb = new StringBuffer();      int level = i;      boolean bOverflow = false;      for(int j = 0; j < bundles.length; j++) {        try {          if(sls != null && sls.getBundleStartLevel(bundles[j]) == level) {            if(sb.length() > 0) {              sb.append(", ");            }            String name = Util.getBundleName(bundles[j]);            //              Text.replace(Util.shortLocation(bundles[j].getLocation()), ".jar", "");            sb.append(name);          }        } catch (IllegalArgumentException e) {        }      }      String txt = sb.toString();      int maxLen = 50;      if(txt.length() > maxLen) {        txt = txt.substring(0, maxLen) + "...";      }      levelItems[i - levelMin] = i + " " + txt;      if(i == sls.getStartLevel()) {        selObj = levelItems[i - levelMin];      }    }    if(levelBox != null) {      DefaultComboBoxModel model = new DefaultComboBoxModel(levelItems);      /*      if(selObj != null) {        System.out.println("model with selected " + selObj);        model.setSelectedItem(selObj);      }      */      levelBox.setModel(model);    }  }  void setStartLevel(final int level) {    Thread t = new Thread() {        public void run() {          StartLevel sls = (StartLevel)slTracker.getService();          if(null != sls) {            sls.setStartLevel(level);          }        }      };    t.start();  }  void updateStartLevel() {    if(slTracker == null) {      return;    }    StartLevel sls = (StartLevel)slTracker.getService();    if(sls == null) {      return;    }    updateLevelItems();    if(levelBox != null) {      levelBox.setSelectedIndex(sls.getStartLevel() - levelMin);    }    updateBundleViewSelections();  }  // items handling start level stuff. Only used if a StartLevel  // service is available at startup  Object[]       levelItems;  JComboBox      levelBox = null;  int            levelMin = 1;  int            levelMax = 20;  int      baActive    = 0;  int      baInstalled = 0;  int      other       = 0;  Bundle[] bl          = new Bundle[0];  boolean stopActive() {    return      baActive == bl.length ||      baActive + other == bl.length;  }  boolean startActive() {    return      baInstalled == bl.length ||      baInstalled + other== bl.length;  }  public void setSelected(Bundle b) {    bundleSelModel.clearSelection();    bundleSelModel.setSelected(b.getBundleId(), true);    updateStatusBar();  }  public void toggleSelected(Bundle b) {    bundleSelModel.setSelected(b.getBundleId(),                               !bundleSelModel.isSelected(b.getBundleId()));    updateStatusBar();  }  public boolean isSelected(Bundle b) {    return bundleSelModel.isSelected(b.getBundleId());  }  void updateBundleViewSelections() {    Bundle[] bl = getSelectedBundles();    //    displayHTML.selectionUpdated(bl);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -