DOWNLOAD
package GUI; import AngioTool.AngioTool;import java.awt.Color;import java.awt.Desktop;import java.awt.Dimension;import java.awt.EventQueue;import java.awt.Font;import java.awt.Frame;import java.awt.Insets;import java.awt.Point;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.MouseMotionAdapter;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java.net.URISyntaxException;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.BorderFactory;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JEditorPane;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.event.HyperlinkEvent;import javax.swing.event.HyperlinkListener;import javax.swing.event.HyperlinkEvent.EventType;import org.netbeans.lib.awtextra.AbsoluteConstraints;import org.netbeans.lib.awtextra.AbsoluteLayout; public class AngioToolAboutBox extends JDialog implements MouseListener { Point location; MouseEvent pressed; String filename = ""; InputStream is = this.getClass().getClassLoader().getResourceAsStream("doc/AngioTool.html"); private JPanel aboutBoxPanel; private JButton closeAboutBox; private JEditorPane helpEditorPane; private JScrollPane jScrollPane1; public AngioToolAboutBox(Frame parent, boolean modal) { super(parent, modal); MyHTMLEditorKit kit = new MyHTMLEditorKit(); kit.setJar(this.getClass()); this.initComponents(); Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); Dimension AboutBoxDimension = this.getSize(); this.setLocation(screenDimension.width / 2 - AboutBoxDimension.width / 2, screenDimension.height / 2 - AboutBoxDimension.height / 2); this.helpEditorPane.setEditorKit(kit); this.helpEditorPane.addHyperlinkListener(new AngioToolAboutBox.AboutBoxHyperlinkListener()); this.addMouseListener(this); FileReader reader = null; try { this.helpEditorPane.read(this.is, this.filename); } catch (IOException var8) { Logger.getLogger(AngioToolAboutBox.class.getName()).log(Level.SEVERE, null, var8); } } public void closeAboutBox() { AngioToolGUI.ATAboutBoxLoc = this.getLocation(); this.dispose(); } private void initComponents() { this.aboutBoxPanel = new JPanel(); JLabel appTitleLabel = new JLabel(); JLabel appDescLabel = new JLabel(); JLabel versionLabel = new JLabel(); JLabel homepageLabel = new JLabel(); JLabel imageLabel = new JLabel(); JLabel homepageLabel1 = new JLabel(); JLabel homepageLabel2 = new JLabel(); JLabel homepageLabel3 = new JLabel(); JLabel homepageLabel4 = new JLabel(); JLabel homepageLabel5 = new JLabel(); JLabel homepageLabel6 = new JLabel(); this.jScrollPane1 = new JScrollPane(); this.helpEditorPane = new JEditorPane(); this.closeAboutBox = new JButton(); this.setDefaultCloseOperation(2); this.setMinimumSize(new Dimension(620, 180)); this.setResizable(false); this.setUndecorated(true); this.getContentPane().setLayout(new AbsoluteLayout()); this.aboutBoxPanel.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0), 2)); this.aboutBoxPanel.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent evt) { AngioToolAboutBox.this.aboutBoxPanelMousePressed(evt); } }); this.aboutBoxPanel.addMouseMotionListener(new MouseMotionAdapter() { @Override public void mouseDragged(MouseEvent evt) { AngioToolAboutBox.this.aboutBoxPanelMouseDragged(evt); } }); this.aboutBoxPanel.setLayout(new AbsoluteLayout()); appTitleLabel.setFont(appTitleLabel.getFont().deriveFont(appTitleLabel.getFont().getStyle() | 1, (float)(appTitleLabel.getFont().getSize() + 19))); appTitleLabel.setHorizontalAlignment(0); appTitleLabel.setText(AngioTool.VERSION); this.aboutBoxPanel.add(appTitleLabel, new AbsoluteConstraints(310, 20, -1, -1)); this.aboutBoxPanel.add(appDescLabel, new AbsoluteConstraints(160, 40, 270, -1)); versionLabel.setFont(versionLabel.getFont().deriveFont(versionLabel.getFont().getStyle() | 1, (float)(versionLabel.getFont().getSize() + 3))); versionLabel.setHorizontalAlignment(0); versionLabel.setText("Version 0.6a Batch Edition (14.05.23)"); this.aboutBoxPanel.add(versionLabel, new AbsoluteConstraints(260, 70, -1, -1)); homepageLabel.setFont(homepageLabel.getFont().deriveFont(homepageLabel.getFont().getStyle() | 1, (float)(homepageLabel.getFont().getSize() + 3))); homepageLabel.setText("Laure Gambardella"); this.aboutBoxPanel.add(homepageLabel, new AbsoluteConstraints(320, 190, -1, -1)); imageLabel.setIcon(new ImageIcon(this.getClass().getResource("/images/ATIcon20 128x128.gif"))); this.aboutBoxPanel.add(imageLabel, new AbsoluteConstraints(10, 10, -1, 130)); homepageLabel1.setFont(homepageLabel1.getFont().deriveFont(homepageLabel1.getFont().getStyle() | 1, (float)(homepageLabel1.getFont().getSize() + 3))); homepageLabel1.setText("Contributors:"); this.aboutBoxPanel.add(homepageLabel1, new AbsoluteConstraints(280, 110, -1, -1)); homepageLabel2.setFont(homepageLabel2.getFont().deriveFont(homepageLabel2.getFont().getStyle() | 1, (float)(homepageLabel2.getFont().getSize() + 3))); homepageLabel2.setText("Enrique Zudaire"); this.aboutBoxPanel.add(homepageLabel2, new AbsoluteConstraints(320, 130, -1, -1)); homepageLabel3.setFont(homepageLabel3.getFont().deriveFont(homepageLabel3.getFont().getStyle() | 1, (float)(homepageLabel3.getFont().getSize() + 3))); homepageLabel3.setText("Chris Kurcz"); this.aboutBoxPanel.add(homepageLabel3, new AbsoluteConstraints(320, 150, -1, -1)); homepageLabel4.setFont(homepageLabel4.getFont().deriveFont(homepageLabel4.getFont().getStyle() | 1, (float)(homepageLabel4.getFont().getSize() + 3))); homepageLabel4.setText("Sonja Vermeren"); this.aboutBoxPanel.add(homepageLabel4, new AbsoluteConstraints(320, 170, -1, -1)); homepageLabel5.setFont(homepageLabel5.getFont().deriveFont(homepageLabel5.getFont().getStyle() | 1, (float)(homepageLabel5.getFont().getSize() + 3))); homepageLabel5.setText("Batch analysis feature:"); this.aboutBoxPanel.add(homepageLabel5, new AbsoluteConstraints(280, 210, -1, -1)); homepageLabel6.setFont(homepageLabel6.getFont().deriveFont(homepageLabel6.getFont().getStyle() | 1, (float)(homepageLabel6.getFont().getSize() + 3))); homepageLabel6.setText("Jack Bendtsen"); this.aboutBoxPanel.add(homepageLabel6, new AbsoluteConstraints(320, 230, -1, -1)); this.jScrollPane1.setBorder(BorderFactory.createBevelBorder(1)); this.helpEditorPane.setEditable(false); this.helpEditorPane.setMargin(new Insets(4, 4, 4, 4)); this.jScrollPane1.setViewportView(this.helpEditorPane); this.aboutBoxPanel.add(this.jScrollPane1, new AbsoluteConstraints(10, 270, 760, 430)); this.getContentPane().add(this.aboutBoxPanel, new AbsoluteConstraints(0, 0, 785, 710)); this.closeAboutBox.setFont(new Font("Tahoma", 1, 18)); this.closeAboutBox.setText("Close"); this.closeAboutBox.setOpaque(false); this.closeAboutBox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { AngioToolAboutBox.this.closeAboutBoxActionPerformed(evt); } }); this.getContentPane().add(this.closeAboutBox, new AbsoluteConstraints(3, 715, 780, 30)); this.pack(); } private void aboutBoxPanelMouseDragged(MouseEvent evt) { this.location = this.getLocation(this.location); int x = this.location.x - this.pressed.getX() + evt.getX(); int y = this.location.y - this.pressed.getY() + evt.getY(); this.setLocation(x, y); } private void aboutBoxPanelMousePressed(MouseEvent evt) { this.pressed = evt; } private void closeAboutBoxActionPerformed(ActionEvent evt) { this.closeAboutBox(); } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { AngioToolAboutBox dialog = new AngioToolAboutBox(new JFrame(), true); dialog.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } }); } @Override public void mouseClicked(MouseEvent e) { this.closeAboutBox(); } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } class AboutBoxHyperlinkListener implements HyperlinkListener { @Override public void hyperlinkUpdate(HyperlinkEvent evt) { if (evt.getEventType() == EventType.ACTIVATED) { try { try { Desktop.getDesktop().browse(evt.getURL().toURI()); } catch (URISyntaxException var3) { Logger.getLogger(AngioToolAboutBox.class.getName()).log(Level.SEVERE, null, var3); } } catch (IOException var4) { } } } }}