1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| package interfaceGraphique;
import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
public class FenetreAbout extends JDialog{
/**
* Nombre utile en cas de sérialisation
*/
private static final long serialVersionUID = -7452839498829858030L;
public FenetreAbout (Interface inter){
super(inter, "A propos", true);
setLayout(new BorderLayout());
Icon jcompta = new ImageIcon(getClass().getResource("/ressources/statJour.png"));
String sNom="<html><body><b>JCompta</b> by Hannibal</body></html>";
JLabel nom=new JLabel(sNom);
nom.setHorizontalAlignment(JLabel.CENTER);
nom.setIcon(jcompta);
add(nom,BorderLayout.NORTH);
String sVersion="<html><body>Version 1.0 -- Juin 2011</body></html>";
JLabel version=new JLabel(sVersion);
version.setHorizontalAlignment(JLabel.CENTER);
add(version);
Icon gpl = new ImageIcon(getClass().getResource("/ressources/gpl.png"));
String sLicence="<html><body>Logiciel sous licence GPL V3</body></html>";
JButton licence=new JButton(sLicence);
licence.setIcon(gpl);
licence.setCursor(new Cursor(Cursor.HAND_CURSOR));
licence.addActionListener(new EcouteurLien());
licence.setBorderPainted(false);
licence.setContentAreaFilled(false);
add(licence,BorderLayout.SOUTH);
pack();
setSize(this.getWidth()+10,this.getHeight()+10);
setResizable(false);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
/**
* Classe permettant de gerer l'ouverture du lien
* http lors du clique sur le JButton licence
* @author hannibal
*
*/
private class EcouteurLien implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// On vérifie que la classe Desktop soit bien supportée :
if ( Desktop.isDesktopSupported() ) {
// On récupère l'instance du desktop :
Desktop desktop = Desktop.getDesktop();
// On vérifie que la fonction browse est bien supportée :
if (desktop.isSupported(Desktop.Action.BROWSE)) {
// Et on lance l'application associé au protocole :
try {
desktop.browse(new URI("http://www.gnu.org/licenses/gpl.html"));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
}
} |
Partager