package kiyut.ekspos; import java.awt.Color; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; /** About Dialog * * @author tonny */ public class AboutWindow extends javax.swing.JDialog { /** * Creates new form AboutWindow */ public AboutWindow(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); initCustomComponents(); fillText(); setAlwaysOnTop(true); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; tabbedPane = new javax.swing.JTabbedPane(); javax.swing.JPanel aboutPane = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); nameLabel = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); javax.swing.JPanel licensePane = new javax.swing.JPanel(); javax.swing.JScrollPane jScrollPane1 = new javax.swing.JScrollPane(); licenseArea = new javax.swing.JTextArea(); javax.swing.JPanel creditsPane = new javax.swing.JPanel(); javax.swing.JScrollPane jScrollPane3 = new javax.swing.JScrollPane(); creditsArea = new javax.swing.JTextArea(); javax.swing.JPanel christPane = new javax.swing.JPanel(); javax.swing.JScrollPane jScrollPane2 = new javax.swing.JScrollPane(); christArea = new javax.swing.JTextArea(); jPanel1 = new javax.swing.JPanel(); closeButton = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("About"); setModal(true); setName("aboutDialog"); // NOI18N setResizable(false); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { closeDialog(evt); } }); tabbedPane.setPreferredSize(new java.awt.Dimension(620, 400)); aboutPane.setLayout(new java.awt.GridBagLayout()); jPanel2.setBorder(javax.swing.BorderFactory.createCompoundBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED), javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20))); jPanel2.setLayout(new java.awt.GridBagLayout()); jLabel3.setBackground(new java.awt.Color(255, 255, 255)); jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/kiyut/ekspos/about-logo.png"))); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridheight = 3; gridBagConstraints.ipadx = 8; gridBagConstraints.ipady = 2; gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 10); jPanel2.add(jLabel3, gridBagConstraints); nameLabel.setFont(new java.awt.Font("Dialog", 1, 14)); nameLabel.setText("LONG_NAME VERSION"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; jPanel2.add(nameLabel, gridBagConstraints); jLabel4.setFont(new java.awt.Font("Dialog", 0, 12)); jLabel4.setText("http://www.kiyut.com"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 0); jPanel2.add(jLabel4, gridBagConstraints); jLabel2.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N jLabel2.setText("Copyright © 2010 KIYUT"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; jPanel2.add(jLabel2, gridBagConstraints); aboutPane.add(jPanel2, new java.awt.GridBagConstraints()); tabbedPane.addTab("About", aboutPane); licensePane.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 5, 5, 5)); licensePane.setLayout(new java.awt.BorderLayout()); licenseArea.setEditable(false); licenseArea.setFont(new java.awt.Font("Monospaced", 0, 12)); licenseArea.setLineWrap(true); licenseArea.setWrapStyleWord(true); jScrollPane1.setViewportView(licenseArea); licensePane.add(jScrollPane1, java.awt.BorderLayout.CENTER); tabbedPane.addTab("License", licensePane); creditsPane.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 5, 5, 5)); creditsPane.setLayout(new java.awt.BorderLayout()); creditsArea.setEditable(false); creditsArea.setFont(new java.awt.Font("Monospaced", 0, 12)); jScrollPane3.setViewportView(creditsArea); creditsPane.add(jScrollPane3, java.awt.BorderLayout.CENTER); tabbedPane.addTab("Credits", creditsPane); christPane.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 5, 5, 5)); christPane.setLayout(new java.awt.BorderLayout()); christArea.setEditable(false); christArea.setFont(new java.awt.Font("Monospaced", 0, 12)); christArea.setLineWrap(true); christArea.setWrapStyleWord(true); jScrollPane2.setViewportView(christArea); christPane.add(jScrollPane2, java.awt.BorderLayout.CENTER); tabbedPane.addTab("Christ", christPane); getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER); closeButton.setText("Close"); closeButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { closeAction(evt); } }); jPanel1.add(closeButton); getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH); }// </editor-fold>//GEN-END:initComponents private void closeAction(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeAction // Add your handling code here: closeDialog(null); }//GEN-LAST:event_closeAction /** Closes the dialog */ private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog setVisible(false); dispose(); }//GEN-LAST:event_closeDialog private void initCustomComponents() { setTitle("About - " + Application.getName()); nameLabel.setText(Application.getLongName() + " " + Application.getVersion()); // for JGoodies Looks 2.0.1 work around Color tempColor = javax.swing.UIManager.getDefaults().getColor("TextArea.background"); Color backColor = new Color(tempColor.getRed(),tempColor.getGreen(),tempColor.getBlue(),tempColor.getAlpha()); licenseArea.setBackground(backColor); creditsArea.setBackground(backColor); christArea.setBackground(backColor); } private String loadText(InputStream is) { int len; char[] cBuf = new char[1024]; StringBuffer sb = new StringBuffer(); try { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); while ((len=reader.read(cBuf,0,1024)) != -1) { sb.append(cBuf,0,len); } reader.close(); } catch (Exception ex) { ex.printStackTrace(System.err); } return sb.toString(); } private void fillText() { String str; InputStream is = null; try { is = getClass().getResourceAsStream("/kiyut/ekspos/LICENSE-ekspos.txt"); str = loadText(is); is.close(); licenseArea.insert(str,0); licenseArea.setCaretPosition(0); is = getClass().getResourceAsStream("/kiyut/ekspos/christianity.txt"); str = loadText(is); is.close(); christArea.insert(str,0); christArea.setCaretPosition(0); is = getClass().getResourceAsStream("/kiyut/ekspos/credits.txt"); str = loadText(is); is.close(); creditsArea.insert(str,0); creditsArea.setCaretPosition(0); } catch (Exception ex){ System.err.println("AboutWindow unable to load resources file"); } } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JTextArea christArea; private javax.swing.JButton closeButton; private javax.swing.JTextArea creditsArea; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JTextArea licenseArea; private javax.swing.JLabel nameLabel; private javax.swing.JTabbedPane tabbedPane; // End of variables declaration//GEN-END:variables }