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

📄 prettyplotjframe.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.Dimension;import java.awt.Color;import java.awt.event.*;import org.emboss.jemboss.gui.form.TextFieldInt;import org.emboss.jemboss.gui.form.TextFieldFloat;import org.emboss.jemboss.gui.form.LabelTextBox;/**** JFrame to define the colour of residue if identical or * a positive match. **/public class PrettyPlotJFrame extends JFrame                              implements ActionListener{  /** field to define min number of identities */  private TextFieldInt textInt;  /** field to define threshold for positive matches */  private TextFieldFloat textFloat;  /** colour panel for identical matches */  private JColorChooser idColour;  /** colour panel for positive scoring matches */  private JColorChooser matchColour;  /** colour panel for identical matches background */  private JColorChooser idColourBackground;  /** colour panel for positive scoring matches background */  private JColorChooser matchColourBackground;  /** graphic sequence panel */  private GraphicSequenceCollection gsc;  /** define if the identities and matches are to be boxed */  private JCheckBox prettyBox;  /**  *  * @param   *  */  public PrettyPlotJFrame(int minID, float plurality,                           Color colID, Color colMatch,                          Color colIDBack, Color colMatchBack,                          boolean lboxPretty)  {    textInt = new TextFieldInt();    textInt.setText(Integer.toString(minID));    textFloat = new TextFieldFloat();    textFloat.setValue(plurality);    idColour = new JColorChooser(colID);    matchColour = new JColorChooser(colMatch);    idColourBackground = new JColorChooser(colIDBack);    matchColourBackground = new JColorChooser(colMatchBack);    prettyBox = new JCheckBox();    prettyBox.setSelected(lboxPretty);  }  /**  *  * @param gsc	graphic sequence panel  *  */  public PrettyPlotJFrame(GraphicSequenceCollection gsc)  {    super("Colour Matches");    this.gsc = gsc;    Box bdown = Box.createVerticalBox();    bdown.add(Box.createVerticalStrut(4));    Box bacross = Box.createHorizontalBox();    textInt = new TextFieldInt();    textInt.setText(Integer.toString(gsc.getNumberSequences()));    Dimension d = new Dimension(50, 30);    textInt.setPreferredSize(d);    textInt.setMaximumSize(d);    bacross.add(textInt);    LabelTextBox idLabel = new LabelTextBox(                "Identity Number",                "Minimum number of identities in a column");    bacross.add(idLabel);    bacross.add(Box.createHorizontalGlue());    bdown.add(bacross);    bdown.add(Box.createVerticalStrut(4));// match threshold       bacross = Box.createHorizontalBox();    textFloat = new TextFieldFloat();    textFloat.setValue(AlignJFrame.getTotalWeight(                       gsc.getSequenceCollection())/2);    textFloat.setPreferredSize(d);    textFloat.setMinimumSize(d);    bacross.add(textFloat);    LabelTextBox floatLabel = new LabelTextBox(                "Threshold for positive matches",                "Minimum number of positive matches. The default\n"+                "is half the total weight of all the sequences.");    bacross.add(floatLabel);    bacross.add(Box.createHorizontalGlue());    bdown.add(bacross);    bdown.add(Box.createVerticalStrut(4));// identity colour    bacross = Box.createHorizontalBox();    idColour = new JColorChooser(Color.red);    final JButton idButton = new JButton("");       Dimension buttSize = new Dimension(25,20);    idButton.setPreferredSize(buttSize);    final JDialog dialog = JColorChooser.createDialog(idButton,                                        "Pick a Color",                                        true,                                        idColour,                                        null, null);    idButton.setBackground(Color.red);    idButton.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        dialog.show();        idButton.setBackground(idColour.getColor());      }    });    bacross.add(idButton);    idLabel = new LabelTextBox(                "Identity Colour","");    bacross.add(idLabel);    bacross.add(Box.createHorizontalGlue());    bdown.add(bacross);    bdown.add(Box.createVerticalStrut(4));// identity colour background    bacross = Box.createHorizontalBox();    idColourBackground = new JColorChooser(Color.white);    final JButton idBackButton = new JButton("");    idBackButton.setPreferredSize(buttSize);    final JDialog dialogID = JColorChooser.createDialog(idBackButton,                                        "Pick a Color",                                        true,                                        idColourBackground,                                        null, null);                                                                                                 idBackButton.setBackground(Color.white);                                                           idBackButton.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        dialogID.show();        idBackButton.setBackground(idColourBackground.getColor());      }    });    bacross.add(idBackButton);    idLabel = new LabelTextBox(                "Identity Background Colour","");    bacross.add(idLabel);    bacross.add(Box.createHorizontalGlue());    bdown.add(bacross);    bdown.add(Box.createVerticalStrut(4));// positive matches colour    bacross = Box.createHorizontalBox();    matchColour = new JColorChooser(Color.blue);    final JButton matchButton = new JButton("");    matchButton.setPreferredSize(buttSize);    final JDialog dialogMatch = JColorChooser.createDialog(matchButton,                                        "Pick a Color",                                        true,                                        matchColour,                                        null, null);                                                                                                 matchButton.setBackground(Color.blue);    matchButton.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        dialogMatch.show();        matchButton.setBackground(matchColour.getColor());      }    });    bacross.add(matchButton);    idLabel = new LabelTextBox(                "Positive Match Colour",                "");    bacross.add(idLabel);    bacross.add(Box.createHorizontalGlue());    bdown.add(bacross);// positive matches colour background    bacross = Box.createHorizontalBox();    matchColourBackground = new JColorChooser(Color.white);    final JButton matchBackButton = new JButton("");    matchBackButton.setPreferredSize(buttSize);    final JDialog dialogMatchBack = JColorChooser.createDialog(matchButton,                                        "Pick a Color",                                        true,                                        matchColourBackground,                                        null, null);                                                                                                 matchBackButton.setBackground(Color.white);    matchBackButton.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        dialogMatchBack.show();        matchBackButton.setBackground(matchColourBackground.getColor());      }    });    bacross.add(matchBackButton);    idLabel = new LabelTextBox(                "Positive Match Background Colour",                "");    bacross.add(idLabel);    bacross.add(Box.createHorizontalGlue());    bdown.add(bacross); // box-in the identical and similar matches    bacross = Box.createHorizontalBox();    prettyBox = new JCheckBox("Box");    prettyBox.setSelected(true);    bacross.add(prettyBox);    bacross.add(Box.createHorizontalGlue());    bdown.add(bacross);    bacross = Box.createHorizontalBox();    JButton draw = new JButton("Set");    draw.addActionListener(this);    draw.setActionCommand("SET");    bacross.add(draw);    bdown.add(bacross);    // 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);    getContentPane().add(bdown);    pack();  }  /**  *  * Get the users defined identity limit  * @param	number of identical residues  *  */  public int getMinimumIdentity(int nseqs)  {    return Integer.parseInt(textInt.getText());  }  /**  *  * Get the match threshold value  * @return 	threshold value  *  */  public double getMatchThreshold()  {    return textFloat.getValue();  }  /**  *  * Get the users defined colour to draw identical  * residues  * @return 	colour  *  */  public Color getIDColour()  {    return idColour.getColor();  }  /**  *  * Get the users defined background colour to draw identical  * residues  * @return     colour  *  */  public Color getIDBackgroundColour()  {    return idColourBackground.getColor();  }  /**  *  * Get the users defined colour to draw positive  * match residues  * @return     colour  *  */  public Color getMatchColour()  {    return matchColour.getColor();  }  /**  *  * Get the users defined background colour to draw positive  * match residues  * @return     colour  *  */  public Color getMatchBackgroundColour()  {    return matchColourBackground.getColor();  }  /**  *  * Determine if boxes are to be drawn around the   * identical matches  * @param	draw boxes if true  *  */  protected boolean isPrettyBox()  {    return prettyBox.isSelected();  }     /**  *  * Set the current graphic display  * @param gsc	Sequence graphic       *  */  protected void setGraphicSequenceCollection(GraphicSequenceCollection gsc)  {    this.gsc = gsc;    textInt.setText(Integer.toString(gsc.getNumberSequences()));  }  /**  *  *  @param ae	the action event generated  *  */  public void actionPerformed(ActionEvent ae)  {    if(ae.getActionCommand().equals("SET"))    {      gsc.setPrettyPlot(true,this);      gsc.setDrawBoxes(false);      gsc.setDrawColor(false);    }  }}

⌨️ 快捷键说明

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