package husacct.define.presentation.jdialog;
import husacct.ServiceProvider;
import husacct.common.Resource;
import husacct.common.locale.ILocaleService;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class HelpDialog extends JDialog {
private static final long serialVersionUID = 6529710009481789767L;
private JPanel imagePanel, introductionPanel, textPanel, containerPanel, buttonPanel;
private JLabel pictureLabel, introductionText, contentText;
private JButton closeButton;
private ILocaleService localeService = ServiceProvider.getInstance().getLocaleService();
public HelpDialog(){
super();
this.setTitle(localeService.getTranslatedString("?TooltipDefineArchitecture"));
setup();
addComponents();
setListeners();
this.setVisible(true);
}
private void setup(){
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setSize(new Dimension(600, 675));
this.setLayout(new BorderLayout());
this.setResizable(false);
this.getContentPane().setBackground(Color.WHITE);
ServiceProvider.getInstance().getControlService().centerDialog(this);
setIconImage(new ImageIcon(Resource.get(Resource.ICON_QUESTIONMARK)).getImage());
}
private void addComponents(){
imagePanel = new JPanel();
introductionPanel = new JPanel();
textPanel = new JPanel();
buttonPanel = new JPanel();
containerPanel = new JPanel(new FlowLayout());
containerPanel.setBackground(Color.WHITE);
introductionPanel.setLayout(new GridBagLayout());
textPanel.setLayout(new GridBagLayout());
Image logo = Toolkit.getDefaultToolkit().getImage(Resource.get(Resource.DEFINE_WORKFLOW));
pictureLabel = new JLabel(new ImageIcon(logo));
closeButton = new JButton(localeService.getTranslatedString("Close"));
getRootPane().setDefaultButton(closeButton);
imagePanel.add(pictureLabel);
introductionText = new JLabel();
initiateLabel(introductionText, "DefineHelpDialogIntroductionText");
introductionPanel.add(introductionText);
contentText = new JLabel();
initiateLabel(contentText, "DefineHelpDialogContentText");
textPanel.add(contentText);
containerPanel.add(introductionPanel);
containerPanel.add(pictureLabel);
containerPanel.add(textPanel);
buttonPanel.add(closeButton);
this.add(containerPanel, BorderLayout.CENTER);
this.add(buttonPanel, BorderLayout.SOUTH);
}
private void setListeners(){
closeButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dispose();
}
});
}
private void initiateLabel(JLabel label, String name){
label.setOpaque(true);
label.setBorder(BorderFactory.createLineBorder(Color.WHITE,0));
label.setBackground(Color.WHITE);
label.setText(String.format("<html><div width=%d>%s</div></html>", 495, localeService.getTranslatedString(name)));
}
}