All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.biojava.nbio.structure.align.gui.AboutDialog Maven / Gradle / Ivy

There is a newer version: 7.1.3
Show newest version
/*
 *                    PDB web development code
 *
 * This code may be freely distributed and modified under the
 * terms of the GNU Lesser General Public Licence.  This should
 * be distributed with the code.  If you do not have a copy,
 * see:
 *
 *      http://www.gnu.org/copyleft/lesser.html
 *
 * Copyright for this code is held jointly by the individual
 * authors.  These should be listed in @author doc comments.
 *
 *
 * Created on Jul 21, 2009
 * Created by ap3
 *
 */

package org.biojava.nbio.structure.align.gui;

import org.biojava.nbio.structure.align.StructureAlignment;
import org.biojava.nbio.structure.align.StructureAlignmentFactory;
import org.biojava.nbio.structure.align.util.ResourceManager;
import org.biojava.nbio.structure.align.webstart.BrowserOpener;

import javax.swing.*;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class AboutDialog
{
	Box vBox;
	public AboutDialog(){

	}

	public void showDialog(){
		JDialog dialog = new JDialog();

		dialog.setSize(new Dimension(500,650));

		ResourceManager mgr = ResourceManager.getResourceManager("ce");

		String msg = "";

		msg += mgr.getString("ce.about");

		msg += "Currently suported algorithms and version:
"; // add the Algorithms and version nrs. StructureAlignment[] algorithms = StructureAlignmentFactory.getAllAlgorithms(); for (StructureAlignment algorithm: algorithms){ msg+=""+algorithm.getAlgorithmName()+" V." +algorithm.getVersion()+"
"; } //msg+="
"; JEditorPane txt = new JEditorPane("text/html", msg); txt.setEditable(false); JScrollPane scroll = new JScrollPane(txt); scroll.setSize(new Dimension(300,500)); vBox= Box.createVerticalBox(); vBox.add(scroll); txt.addHyperlinkListener(new HyperlinkListener(){ @Override public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { String href = e.getDescription(); BrowserOpener.showDocument(href); } if ( e.getEventType() == HyperlinkEvent.EventType.ENTERED) { // change the mouse curor vBox.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); } if (e.getEventType() == HyperlinkEvent.EventType.EXITED) { vBox.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } } }); JButton close = new JButton("Close"); close.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent event) { Object source = event.getSource(); JButton but = (JButton)source; Container parent = but.getParent().getParent().getParent().getParent().getParent().getParent() ; JDialog dia = (JDialog) parent; dia.dispose(); } }); Box hBoxb = Box.createHorizontalBox(); hBoxb.add(Box.createGlue()); hBoxb.add(close,BorderLayout.EAST); vBox.add(hBoxb); dialog.getContentPane().add(vBox); dialog.setVisible(true); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy