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

📄 browser.java

📁 emboss的linux版本的源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
  /**  *  * Set the Jemboss web browser size  *  */  private void setBrowserSize()  {    Dimension screenSize = getToolkit().getScreenSize();    int width  = (int)(screenSize.width * 0.6);    int height = (int)(screenSize.height * 0.85);    setBounds((int)(width*.59), (int)(height*.02), width, height);  }  /**  *  * Add the html pane to a scrollpane, list and splitpane and set the  * size of the html pane  *  */  private void addToScrollPane()  {    htmlPane.setEditable(false);    htmlPane.setCaretPosition(0);        Box bacross = Box.createHorizontalBox();    bacross.add(Box.createHorizontalGlue());    JButton listClose = new JButton()    {      public void paintComponent(Graphics g)      {        super.paintComponent(g);        BasicStroke stroke = new BasicStroke(2.0f);        Graphics2D g2 = (Graphics2D) g;        g2.setStroke(stroke);        g2.setColor(Color.gray);        g2.drawLine(4,5,9,10);        g2.drawLine(9,5,4,10);        g2.setColor(Color.black);        g2.drawLine(4,4,9,9);        g2.drawLine(9,3,3,9);        setSize(15,15);      }    };    listClose.addActionListener(this);    listClose.setActionCommand("CLOSE");    listClose.setPreferredSize(new Dimension(15,15));    bacross.add(listClose);    JPanel leftPane = new JPanel(new BorderLayout());    JScrollPane leftScroll = new JScrollPane(getWebScape());    leftPane.add(bacross, BorderLayout.NORTH);    leftPane.add(leftScroll, BorderLayout.CENTER);    leftScroll.getViewport().setBackground(Color.white);     sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,		        leftPane, htmlPane);    sp.setDividerSize(8);    sp.setDividerLocation(100);    sp.setOneTouchExpandable(true);    JScrollPane scrollPane = new JScrollPane(htmlPane);    sp.add(scrollPane);    // ensures html wraps properly    htmlPane.setPreferredSize(getPreferredSize());    getContentPane().add(sp, BorderLayout.CENTER);      // status field    Border loweredbevel = BorderFactory.createLoweredBevelBorder();    Border raisedbevel = BorderFactory.createRaisedBevelBorder();    Border compound = BorderFactory.createCompoundBorder(raisedbevel,loweredbevel);    statusField = new JTextField();    statusField.setBorder(compound);    statusField.setEditable(false);    getContentPane().add(statusField, BorderLayout.SOUTH);  }  /**  *  * Override actionPerformed  * @param event 	action event  *  */  public void actionPerformed(ActionEvent event)   {    URL url = null;    setCursor(cbusy);    if (event.getSource() == urlField)     {      Object select = urlField.getSelectedItem();      if(select instanceof String)      {        try        {          url = new URL((String)select);        }        catch(MalformedURLException me){}      }      else        url = (URL)select;    }    else if (event.getActionCommand().equals("JEMBOSS"))    {      try      {        url = new URL("http://emboss.sourceforge.net/Jemboss/");      }      catch(MalformedURLException me){}    }    else if (event.getActionCommand().equals("BACK"))    {      int index = urlField.getIndexOf(urlField.getSelectedItem())-1;      if(index > -1 && index < urlField.getItemCount())        url = urlField.getURLAt(index);    }    else if (event.getActionCommand().equals("FWD"))    {      int index = urlField.getIndexOf(urlField.getSelectedItem())+1;      if(index > -1 && index < urlField.getItemCount())        url = urlField.getURLAt(index);    }    else if (event.getActionCommand().equals("CLOSE"))    {      setCursor(cdone);      sp.setDividerLocation(0);      return;    }    try    {      htmlPane.setPage(url);      if(!urlField.isItem(url))        urlField.addURL(url);      else      {        urlField.setSelectedItem(url);      }      backMenu.setEnabled(urlField.isBackPage());      backBt.setEnabled(urlField.isBackPage());      fwdMenu.setEnabled(urlField.isForwardPage());      fwdBt.setEnabled(urlField.isForwardPage());    }    catch(IOException ioe)    {      setCursor(cdone);      warnUser("Can't follow link to " + url );    }    setCursor(cdone);  }  /**  *  * Method to handle hyper link events.  * @param event	hyper link event  *  */  public void hyperlinkUpdate(HyperlinkEvent event)   {    if(event.getEventType() == HyperlinkEvent.EventType.ACTIVATED)    {      setCursor(cbusy);      try       {	URL url = event.getURL();        htmlPane.setPage(url);        if(!urlField.isItem(url))          urlField.addURL(url);        else	{          urlField.setSelectedItem(url);          urlField.setLastIndex(url);        }      }       catch(IOException ioe)       {        setCursor(cdone);        warnUser("Can't follow link to " +                    event.getDescription() );      }            setCursor(cdone);    }    else if(event.getEventType() == HyperlinkEvent.EventType.ENTERED)      statusField.setText(event.getDescription());    else if(event.getEventType() == HyperlinkEvent.EventType.EXITED)      statusField.setText("");  }  /**  *  * Display a warning message  * @param message	message to display  *  */  private void warnUser(String message)  {    JOptionPane.showMessageDialog(this, message, "Warning",                                   JOptionPane.ERROR_MESSAGE);  }  /**  *  * Used to draw a Shape.  *  */  public static GeneralPath makeShape(float loc[][])  {    GeneralPath path = new GeneralPath(GeneralPath.WIND_NON_ZERO);    path.moveTo(loc[0][0],loc[0][1]);    for(int i=1; i<loc.length; i++)      path.lineTo(loc[i][0],loc[i][1]);    return path;  }  /**  *  * Jemboss icon button  *  */  public class JIconButton extends JButton   {    public JIconButton(ImageIcon ii)     {      super(ii);      setContentAreaFilled(false);      setBorderPainted(false);      setFocusPainted(false);    }  }    public JTree getWebScape()  {    DefaultMutableTreeNode top =        new DefaultMutableTreeNode("Jemboss WebScape");    createNodes(top);        final JTree webScape = new JTree(top);    webScape.setShowsRootHandles(true);    webScape.expandRow(1);    webScape.getSelectionModel().setSelectionMode            (TreeSelectionModel.SINGLE_TREE_SELECTION);    webScape.addTreeSelectionListener(new TreeSelectionListener()    {      public void valueChanged(TreeSelectionEvent e)       {        ClassLoader cl = this.getClass().getClassLoader();        DefaultMutableTreeNode node = (DefaultMutableTreeNode)                       webScape.getLastSelectedPathComponent();        if (node == null) return;        Object nodeInfo = node.getUserObject();        if(node.isLeaf())         {          String loc = null;          DefaultMutableTreeNode parent = (DefaultMutableTreeNode)node.getParent();          String category = (String)parent.getUserObject();          String selectedValue = (String)nodeInfo;          URL inURL = null;          if(selectedValue.equals("File Manager"))            inURL = cl.getResource("resources/filemgr.html");          else if(selectedValue.equals("About"))            inURL = cl.getResource("resources/readme.html");          else if(selectedValue.equals("Alignment Editor"))            inURL = cl.getResource("resources/readmeAlign.html");          else if(selectedValue.equals("Sequence List"))            inURL = cl.getResource("resources/seqList.html");          else if(selectedValue.equals("Results Manager"))            inURL = cl.getResource("resources/results.html");          else if (selectedValue.equals("User Guide"))            loc = "http://emboss.sourceforge.net/Jemboss/guide.html";          else if(selectedValue.equals("Home") && category.equals("Jemboss"))            loc = "http://emboss.sourceforge.net/Jemboss/";          else if(selectedValue.equals("Home") && category.equals("EMBOSS"))            loc = "http://emboss.sourceforge.net/";          else if(selectedValue.equals("Apps") && category.equals("EMBOSS"))            loc = "http://emboss.sourceforge.net/apps/release/4.0/emboss/apps/";          if(loc != null)           {            try            {              inURL = new URL(loc);            }            catch(MalformedURLException me)            {              warnUser("Can't follow link to " + loc);            }          }          if(inURL != null)          {            try            {              htmlPane.setPage(inURL);              if(!urlField.isItem(inURL))                urlField.addURL(inURL);              else              {                urlField.setSelectedItem(inURL);                urlField.setLastIndex(inURL);              }            }            catch(IOException ioe)            {              setCursor(cdone);              warnUser("Can't follow link to " + inURL );            }            backMenu.setEnabled(urlField.isBackPage());            backBt.setEnabled(urlField.isBackPage());                                                                                            fwdMenu.setEnabled(urlField.isForwardPage());            fwdBt.setEnabled(urlField.isForwardPage());          }        }      }    });    webScape.setRootVisible(false);    return webScape;  }  private void createNodes(DefaultMutableTreeNode top)  {    DefaultMutableTreeNode category = null;    DefaultMutableTreeNode topic    = null;    category = new DefaultMutableTreeNode("Jemboss");    top.add(category);        for(int i=0; i<topics.length; i++)    {      topic = new DefaultMutableTreeNode(topics[i]);      category.add(topic);    }    category = new DefaultMutableTreeNode("EMBOSS");    top.add(category);                                                                                    for(int i=0; i<embossTopics.length; i++)    {      topic = new DefaultMutableTreeNode(embossTopics[i]);      category.add(topic);    }  }    public static void main(String args[])  {    ClassLoader cl = ClassLoader.getSystemClassLoader();    try    {      URL inURL = cl.getResource("resources/seqList.html");      new Browser(inURL,"resources/seqList.html");    }    catch (Exception iex)    {      System.out.println("Didn't find resources/seqList.html");    }  }}

⌨️ 快捷键说明

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