Issue#36 improved AboutDialog
This commit is contained in:
parent
f4aedd64cc
commit
8bf453577b
|
@ -21,19 +21,17 @@ package org.dclermonte.siba.gui;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
|
import java.awt.Component;
|
||||||
import java.awt.Cursor;
|
import java.awt.Cursor;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.FlowLayout;
|
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileReader;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ResourceBundle;
|
|
||||||
|
|
||||||
|
import javax.swing.Box;
|
||||||
|
import javax.swing.BoxLayout;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JDialog;
|
import javax.swing.JDialog;
|
||||||
|
@ -52,7 +50,6 @@ import org.slf4j.LoggerFactory;
|
||||||
public class AboutDialog extends JDialog
|
public class AboutDialog extends JDialog
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 8868109575782482455L;
|
private static final long serialVersionUID = 8868109575782482455L;
|
||||||
private static ResourceBundle BUNDLE = ResourceBundle.getBundle("org.dclermonte.siba.gui.messages"); //$NON-NLS-1$
|
|
||||||
public static final Logger logger = LoggerFactory.getLogger(AboutDialog.class);
|
public static final Logger logger = LoggerFactory.getLogger(AboutDialog.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -62,6 +59,7 @@ public class AboutDialog extends JDialog
|
||||||
*/
|
*/
|
||||||
public AboutDialog() throws IOException
|
public AboutDialog() throws IOException
|
||||||
{
|
{
|
||||||
|
|
||||||
setMinimumSize(new Dimension(600, 350));
|
setMinimumSize(new Dimension(600, 350));
|
||||||
setMaximumSize(new Dimension(600, 500));
|
setMaximumSize(new Dimension(600, 500));
|
||||||
setIconImage(Toolkit.getDefaultToolkit()
|
setIconImage(Toolkit.getDefaultToolkit()
|
||||||
|
@ -73,10 +71,12 @@ public class AboutDialog extends JDialog
|
||||||
{
|
{
|
||||||
JPanel buttonPane = new JPanel();
|
JPanel buttonPane = new JPanel();
|
||||||
buttonPane.setBackground(Color.GREEN);
|
buttonPane.setBackground(Color.GREEN);
|
||||||
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
|
||||||
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
||||||
{
|
{
|
||||||
JButton okButton = new JButton("OK");
|
JButton okButton = new JButton("OK");
|
||||||
|
okButton.setFocusTraversalKeysEnabled(false);
|
||||||
|
okButton.setFocusPainted(false);
|
||||||
|
okButton.setBackground(new Color(0, 128, 0));
|
||||||
okButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
|
okButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
|
||||||
okButton.addActionListener(new ActionListener()
|
okButton.addActionListener(new ActionListener()
|
||||||
{
|
{
|
||||||
|
@ -87,10 +87,19 @@ public class AboutDialog extends JDialog
|
||||||
dispose();
|
dispose();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.X_AXIS));
|
||||||
|
{
|
||||||
|
Component horizontalGlue = Box.createHorizontalGlue();
|
||||||
|
buttonPane.add(horizontalGlue);
|
||||||
|
}
|
||||||
okButton.setActionCommand("OK");
|
okButton.setActionCommand("OK");
|
||||||
buttonPane.add(okButton);
|
buttonPane.add(okButton);
|
||||||
getRootPane().setDefaultButton(okButton);
|
getRootPane().setDefaultButton(okButton);
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
Component horizontalGlue = Box.createHorizontalGlue();
|
||||||
|
buttonPane.add(horizontalGlue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
JPanel panel = new JPanel();
|
JPanel panel = new JPanel();
|
||||||
panel.setBackground(Color.GREEN);
|
panel.setBackground(Color.GREEN);
|
||||||
|
@ -101,23 +110,7 @@ public class AboutDialog extends JDialog
|
||||||
txtpnSimpleBackupDveloppeur.setBackground(Color.GREEN);
|
txtpnSimpleBackupDveloppeur.setBackground(Color.GREEN);
|
||||||
txtpnSimpleBackupDveloppeur.setFont(new Font("Dialog", Font.BOLD, 14));
|
txtpnSimpleBackupDveloppeur.setFont(new Font("Dialog", Font.BOLD, 14));
|
||||||
txtpnSimpleBackupDveloppeur.setContentType("text/html");
|
txtpnSimpleBackupDveloppeur.setContentType("text/html");
|
||||||
String path = System.getProperty("user.dir");
|
txtpnSimpleBackupDveloppeur.setText(AboutDialogUtils.aboutDialog());
|
||||||
String about = BUNDLE.getString("AboutDialog");
|
|
||||||
File aboutFile = new File(path + "/src/org/dclermonte/siba/gui/" + about);
|
|
||||||
FileReader in = new FileReader(aboutFile);
|
|
||||||
BufferedReader bufferedReader = new BufferedReader(in);
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
|
||||||
String lines;
|
|
||||||
String line;
|
|
||||||
while ((line = bufferedReader.readLine()) != null)
|
|
||||||
{
|
|
||||||
stringBuilder.append(line);
|
|
||||||
}
|
|
||||||
lines = stringBuilder.toString();
|
|
||||||
txtpnSimpleBackupDveloppeur.setText(lines);
|
|
||||||
System.out.println("texte = " + lines);
|
|
||||||
// "Simple Backup\n\nDéveloppeur Christian Pierre Momon et Didier
|
|
||||||
// Clermonté\n\nLicence GNU Affero General Public License 2016");
|
|
||||||
panel.add(txtpnSimpleBackupDveloppeur);
|
panel.add(txtpnSimpleBackupDveloppeur);
|
||||||
{
|
{
|
||||||
JLabel lblNewLabel = new JLabel("");
|
JLabel lblNewLabel = new JLabel("");
|
||||||
|
@ -125,12 +118,13 @@ public class AboutDialog extends JDialog
|
||||||
.setIcon(new ImageIcon(AboutDialog.class.getResource("/org/dclermonte/siba/gui/SibaLogo_256.png")));
|
.setIcon(new ImageIcon(AboutDialog.class.getResource("/org/dclermonte/siba/gui/SibaLogo_256.png")));
|
||||||
panel.add(lblNewLabel, BorderLayout.WEST);
|
panel.add(lblNewLabel, BorderLayout.WEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method Launch the application.
|
* This method Launch the application.
|
||||||
*/
|
*/
|
||||||
public static void main(final String string)
|
public static void view(final String string)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2016 Didier Clermonté <dclermonte@april.org>
|
||||||
|
* Copyright (C) 2016 Christian Pierre Momon <christian.momon@devinsy.fr>
|
||||||
|
*
|
||||||
|
* This file is part of Siba.
|
||||||
|
*
|
||||||
|
* Siba is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as
|
||||||
|
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package org.dclermonte.siba.gui;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Didier Clermonté (dclermonte@april.org)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class AboutDialogUtils
|
||||||
|
{
|
||||||
|
private static ResourceBundle BUNDLE = ResourceBundle.getBundle("org.dclermonte.siba.gui.messages"); //$NON-NLS-1$
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
public static String aboutDialog() throws IOException
|
||||||
|
{
|
||||||
|
String result = null;
|
||||||
|
|
||||||
|
String about = BUNDLE.getString("AboutDialog");
|
||||||
|
File aboutFile = new File(AboutDialog.class.getResource("/org/dclermonte/siba/gui/" + about).getFile());
|
||||||
|
result = FileUtils.readFileToString(aboutFile, (Charset) null);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
|
@ -61,9 +61,9 @@ public class CheckPanel extends JPanel
|
||||||
private JTextField fileToCheckField;
|
private JTextField fileToCheckField;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public CheckPanel()
|
public CheckPanel() throws SibaException
|
||||||
{
|
{
|
||||||
setLayout(new BorderLayout(0, 0));
|
setLayout(new BorderLayout(0, 0));
|
||||||
|
|
||||||
|
|
|
@ -94,6 +94,10 @@ public class SibaGUI
|
||||||
{
|
{
|
||||||
message = "Java ran out of memory!\n\n";
|
message = "Java ran out of memory!\n\n";
|
||||||
}
|
}
|
||||||
|
else if (exception instanceof SibaException)
|
||||||
|
{
|
||||||
|
message = "SibaException" + exception.getMessage();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
message = "An error occured: " + exception.getClass() + "(" + exception.getMessage() + ")";
|
message = "An error occured: " + exception.getClass() + "(" + exception.getMessage() + ")";
|
||||||
|
@ -269,7 +273,7 @@ public class SibaGUI
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(final ActionEvent e)
|
public void actionPerformed(final ActionEvent e)
|
||||||
{
|
{
|
||||||
AboutDialog.main("");
|
AboutDialog.view("");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mnNewMenu.add(mntmNewMenuItem_2);
|
mnNewMenu.add(mntmNewMenuItem_2);
|
||||||
|
|
Loading…
Reference in New Issue