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

📄 printalignmentimage.java

📁 emboss的linux版本的源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    return fsave;  }  /**  *  * Provide some options for the image created  * @param showFileOptions	display file options  *	  */  protected String showPrintPreviewOptions()  {    JPanel joptions = new JPanel();    Box YBox = Box.createVerticalBox();    joptions.add(YBox);// no. of residues per line    Box XBox = Box.createHorizontalBox();    if(format == null)      format = new PageFormat();    String mres = Integer.toString(gsc.getResiduesPerLine(format));    JLabel jres = new JLabel("Residues per line: [max:"+mres+"]");    if(nResPerLine != 0)      mres = Integer.toString(nResPerLine);    JTextField maxResiduesField = new JTextField(mres);    XBox.add(jres);    XBox.add(maxResiduesField);    XBox.add(Box.createHorizontalGlue());    YBox.add(XBox);    JOptionPane.showMessageDialog(null,joptions,"Options",                               JOptionPane.PLAIN_MESSAGE);      nResPerLine = Integer.parseInt(maxResiduesField.getText());    return null;  }  /**  *  * Get a default page format  * @return	page format  *  */  protected PageFormat getFormatDialog()  {    PrinterJob printerJob = PrinterJob.getPrinterJob();    format = new PageFormat();    format = printerJob.pageDialog(format);    return format;  }   /**  *  *  *  */  protected void setAntiAlias(boolean antiAlias)  {    this.antiAlias = antiAlias;  }  /**  *  *  Returns a generated image   *  @param pageIndex	page number  *  @return 		image  *  */  private RenderedImage createAlignmentImage(int pageIndex)  {    int width  = (int)format.getWidth();    int height = (int)format.getHeight();    // Create a buffered image in which to draw    BufferedImage bufferedImage = new BufferedImage(                                  width,height,                                   BufferedImage.TYPE_INT_RGB);    // Create a graphics contents on the buffered image    Graphics2D g2d = bufferedImage.createGraphics();       if(antiAlias)    {//    System.out.println("Anit-alias on!");      g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,               RenderingHints.VALUE_ANTIALIAS_ON);    }    g2d.setColor(Color.white);    g2d.fillRect(0,0,width,height);    // Draw graphics    if(nResPerLine == 0)      gsc.drawSequences(g2d,format,pageIndex);    else      gsc.drawSequences(g2d,format,pageIndex,nResPerLine);     return bufferedImage;  }  /**  *  * Display a single page print preview page  *  */  protected void printSinglePagePreview()  {    Border loweredbevel = BorderFactory.createLoweredBevelBorder();    Border raisedbevel = BorderFactory.createRaisedBevelBorder();    Border compound = BorderFactory.createCompoundBorder(raisedbevel,loweredbevel);    statusField.setBorder(compound);    statusField.setEditable(false);                                     format = new PageFormat();    Dimension d = gsc.getImageableSize(nResPerLine);    double imageWidth  = d.getWidth();    double imageHeight = d.getHeight();    Paper paper  = format.getPaper();    paper.setSize(imageWidth,imageHeight);    paper.setImageableArea(0.d,0.d,imageWidth,imageHeight+imageHeight);    format.setPaper(paper);    statusField.setText(pageIndex+"1 of 1 page(s)");    final JFrame f = new JFrame("Print Preview");    JPanel jpane = (JPanel)f.getContentPane();    JScrollPane scrollPane = new JScrollPane(this);    jpane.setLayout(new BorderLayout());    jpane.add(scrollPane,BorderLayout.CENTER);    jpane.add(statusField,BorderLayout.SOUTH);     final Dimension dScreen = f.getToolkit().getScreenSize();    d = new Dimension((int)format.getWidth(),(int)format.getHeight());    setPreferredSize(d);    d = new Dimension((int)(dScreen.getWidth()/2),                      (int)((dScreen.getHeight()*3)/4));    f.setSize(d);// menus    JMenuBar menuBar = new JMenuBar();    JMenu filemenu = new JMenu("File");    menuBar.add(filemenu);// print png/jpeg    JMenuItem printImage = new JMenuItem("Print Image File (png/jpeg)...");    printImage.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        print();      }    });    filemenu.add(printImage);                                                                                                                               // close    filemenu.add(new JSeparator());    JMenuItem menuClose = new JMenuItem("Close");    menuClose.setAccelerator(KeyStroke.getKeyStroke(              KeyEvent.VK_E, ActionEvent.CTRL_MASK));                                                                                                                                   filemenu.add(menuClose);    menuClose.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        f.dispose();      }    });    f.setJMenuBar(menuBar);    f.setVisible(true);  }  /**  *  * Display a print preview page  *  */  protected void printPreview()  {    Border loweredbevel = BorderFactory.createLoweredBevelBorder();    Border raisedbevel = BorderFactory.createRaisedBevelBorder();    Border compound = BorderFactory.createCompoundBorder(raisedbevel,loweredbevel);    statusField.setBorder(compound);    statusField.setEditable(false);    if(format == null)      format = getFormatDialog();    showPrintPreviewOptions();    final int npages = gsc.getNumberPages(format,nResPerLine);    statusField.setText(pageIndex+"1 of "+npages+" page(s)");    final JFrame f = new JFrame("Print Preview");    JPanel jpane = (JPanel)f.getContentPane();    JScrollPane scrollPane = new JScrollPane(this);    jpane.setLayout(new BorderLayout());    jpane.add(scrollPane,BorderLayout.CENTER);    jpane.add(statusField,BorderLayout.SOUTH);    final Dimension dScreen = f.getToolkit().getScreenSize();    Dimension d = new Dimension((int)format.getWidth(),(int)format.getHeight());    setPreferredSize(d);    d = new Dimension((int)(dScreen.getWidth()/2),                      (int)((dScreen.getHeight()*3)/4));    f.setSize(d);    JMenuBar menuBar = new JMenuBar();    JMenu filemenu = new JMenu("File");    menuBar.add(filemenu);// print postscript    JMenu printMenu = new JMenu("Print");    filemenu.add(printMenu);    JMenuItem print = new JMenuItem("Print Postscript...");    print.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        new PrintAlignment(gsc);      }    });    printMenu.add(print);// print png/jpeg    JMenuItem printImage = new JMenuItem("Print Image Files (png/jpeg)...");    printImage.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        print();      }    });    printMenu.add(printImage);// close    filemenu.add(new JSeparator());    JMenuItem menuClose = new JMenuItem("Close");    menuClose.setAccelerator(KeyStroke.getKeyStroke(              KeyEvent.VK_E, ActionEvent.CTRL_MASK));    filemenu.add(menuClose);    menuClose.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        f.dispose();      }    });// page selection buttons    final JButton nextPage = new JButton(">");    final JButton endPage = new JButton(">>");    final JButton previousPage = new JButton("<");    final JButton firstPage = new JButton("<<");    menuBar.add(firstPage);    firstPage.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        pageIndex = 0;        repaint();        previousPage.setEnabled(false);        firstPage.setEnabled(false);        nextPage.setEnabled(true);        endPage.setEnabled(true);        statusField.setText(pageIndex+1+" of "+npages+" pages");      }    });    menuBar.add(previousPage);    previousPage.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        pageIndex--;        repaint();        if(pageIndex == 0)        {          previousPage.setEnabled(false);          firstPage.setEnabled(false);        }        nextPage.setEnabled(true);        endPage.setEnabled(true);        statusField.setText(pageIndex+1+" of "+npages+" pages");      }    });    previousPage.setEnabled(false);    firstPage.setEnabled(false);    menuBar.add(nextPage);    nextPage.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        pageIndex++;        repaint();        if(pageIndex == npages-1)        {          nextPage.setEnabled(false);          endPage.setEnabled(false);        }        previousPage.setEnabled(true);        firstPage.setEnabled(true);        statusField.setText(pageIndex+1+" of "+npages+" pages");      }    });    menuBar.add(endPage);    endPage.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        pageIndex = npages-1;        repaint();        nextPage.setEnabled(false);        endPage.setEnabled(false);        previousPage.setEnabled(true);        firstPage.setEnabled(true);        statusField.setText(pageIndex+1+" of "+npages+" pages");      }    });    if(pageIndex == npages-1)    {      nextPage.setEnabled(false);      endPage.setEnabled(false);    }    f.setJMenuBar(menuBar);    f.setVisible(true);  }  /**  *  * Write out the image   * @param image	image  * @param file		file to write image to  * @param type		type of image   *  */  private void writeImageToFile(RenderedImage image,                                File file, String type)  {    try    {      javax.imageio.ImageIO.write(image,type,file);    }catch ( IOException e )    {      System.out.println("Java 1.4+ is required");      e.printStackTrace();    }  }}

⌨️ 快捷键说明

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