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

📄 colourjframe.java

📁 emboss的linux版本的源代码
💻 JAVA
字号:
/***************************************************************** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version 2* of the License, or (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.**  @author: Copyright (C) Tim Carver****************************************************************/package org.emboss.jemboss.editor;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;import org.emboss.jemboss.gui.ScrollPanel;/**** Colour pallette display and editor.**/public class ColourJFrame extends JFrame{  /** Popup menu system                        */  private JPopupMenu popup;  /** Container for the all the residue colour */  private Box YBox = new Box(BoxLayout.Y_AXIS);  /** Colour scheme                            */  private Hashtable colourTable;  /** Scroll pane for the colour pallette      */  private JScrollPane jspColour;  /** Associated alignment viewer              */  private AlignJFrame align;  /**  *  * @param align 	alignment viewer  *  */  public ColourJFrame(AlignJFrame align)  {    super("Colour");    this.align = align;    JPanel mainPane = (JPanel)getContentPane();    mainPane.setLayout(new BorderLayout());        ScrollPanel mainColourPanel = new ScrollPanel(new BorderLayout());    mainColourPanel.add(YBox);    jspColour = new JScrollPane(mainColourPanel);    mainPane.add(jspColour);    mainColourPanel.setBackground(Color.white);// set up a menu bar    JMenuBar menuBar = new JMenuBar();// File menu    JMenu fileMenu = new JMenu("File");    fileMenu.setMnemonic(KeyEvent.VK_F);// exit    fileMenu.add(new JSeparator());    JMenuItem fileMenuExit = new JMenuItem("Close");    fileMenuExit.setAccelerator(KeyStroke.getKeyStroke(              KeyEvent.VK_E, ActionEvent.CTRL_MASK));    fileMenuExit.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        setVisible(false);      }    });    fileMenu.add(fileMenuExit);    menuBar.add(fileMenu);    setJMenuBar(menuBar);    setSize(70,150);  }  /**  *  * Set the colour scheme to display  * @param colourTable	hashtable containing a colour scheme  *  */  public void setCurrentColour(Hashtable colourTable)  {    this.colourTable = colourTable;    Box XBox;    ColourMenu cm;    JLabel residueField;    YBox.removeAll();        Enumeration enumer = colourTable.keys();    while(enumer.hasMoreElements())    {      String res = (String)enumer.nextElement();      XBox = new Box(BoxLayout.X_AXIS);      residueField = new JLabel(res);      residueField.setPreferredSize(new Dimension(20,20));      residueField.setMaximumSize(new Dimension(20,20));      XBox.add(residueField);      ResidueColourPanel colPane = new ResidueColourPanel(                             res,                             (Color)colourTable.get(res));      XBox.add(colPane);      YBox.add(XBox);    }    YBox.add(Box.createVerticalGlue());    jspColour.getViewport().setViewPosition(new Point(0,0));  }  /**  *  * Get the colour scheme as a hashtable  * @return 	the colour scheme as a hashtable  *  */  public Hashtable getCurrentColourScheme()  {    return colourTable;  }  /**  *  * Colour panel for each individual residue in the pallette  *  */  class ResidueColourPanel extends ColourPanel  {    private String res;    /**    *    * @param res	residue symbol    * @param col 	colour of residue    *    */    public ResidueColourPanel(String res,Color col)    {      super(res+" Colour",col);      this.res = res;    }    /**    *    * Popup menu actions    * @param e	action event    *    */    public void actionPerformed(ActionEvent e)    {      ColourMenu m = (ColourMenu)e.getSource();      col = m.getColor();      repaint();      colourTable.remove(res);      colourTable.put(res,col);      align.repaintSequences(colourTable);    }  }}

⌨️ 快捷键说明

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