From b2e5b7db6455130bf340a4a63b27db61e01131e6 Mon Sep 17 00:00:00 2001 From: yukihane Date: Wed, 14 Sep 2011 12:58:57 +0900 Subject: [PATCH] =?utf8?q?About=E3=81=A8License=E3=82=92=E5=88=A5tab?= =?utf8?q?=E3=81=A7=E8=A1=A8=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- frontend/src/saccubus/MainFrame_AboutBox.java | 74 ++++++++++++++++++--------- 1 file changed, 49 insertions(+), 25 deletions(-) diff --git a/frontend/src/saccubus/MainFrame_AboutBox.java b/frontend/src/saccubus/MainFrame_AboutBox.java index 101fa00..7a24b3d 100644 --- a/frontend/src/saccubus/MainFrame_AboutBox.java +++ b/frontend/src/saccubus/MainFrame_AboutBox.java @@ -1,8 +1,8 @@ package saccubus; -import java.awt.Color; import static javax.swing.WindowConstants.*; +import java.awt.Color; import java.awt.Dimension; import java.awt.Frame; import java.awt.event.ActionEvent; @@ -14,12 +14,14 @@ import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.BorderFactory; import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; +import javax.swing.JTabbedPane; import javax.swing.JTextArea; import javax.swing.SwingUtilities; @@ -71,45 +73,66 @@ public class MainFrame_AboutBox extends JDialog implements ActionListener { * @throws java.lang.Exception */ private void jbInit() { - final JPanel basePanel = new JPanel(); + final JTabbedPane tab = new JTabbedPane(JTabbedPane.BOTTOM); - final JLabel imageLabel = new JLabel(); + final JLabel lblImage = new JLabel(); final ImageIcon icon = new ImageIcon(saccubus.MainFrame_AboutBox.class.getResource("icon.png")); - imageLabel.setIcon(icon); + lblImage.setIcon(icon); - final JTextArea productField = createProductField(); - productField.setOpaque(false); - productField.setBorder(BorderFactory.createEmptyBorder()); - productField.setBackground(new Color(0, 0, 0, 0)); + final JTextArea fldProduct = createProductField(); + // Numbus bug 対応 + // http://stackoverflow.com/questions/613603/java-nimbus-laf-with-transparent-text-fields + fldProduct.setOpaque(false); + fldProduct.setBorder(BorderFactory.createEmptyBorder()); + fldProduct.setBackground(new Color(0, 0, 0, 0)); - final JScrollPane licensePane = createLicensePane(); + final JScrollPane pnlLicense = createLicensePane(); okButton.setText("OK"); okButton.addActionListener(this); - basePanel.setPreferredSize(new Dimension(500, 600)); - GroupLayout gl = new GroupLayout(basePanel); - basePanel.setLayout(gl); + final JPanel pnlAbout = new JPanel(); + GroupLayout glAbout = new GroupLayout(pnlAbout); + pnlAbout.setLayout(glAbout); + + glAbout.setHorizontalGroup(glAbout.createParallelGroup(GroupLayout.Alignment.CENTER) + .addGroup(glAbout.createSequentialGroup() + .addGap(15).addComponent(lblImage).addGap(30).addComponent(fldProduct).addGap(30)) + ); + + glAbout.setVerticalGroup(glAbout.createSequentialGroup() + .addGap(15) + .addGroup(glAbout.createParallelGroup() + .addComponent(lblImage).addComponent(fldProduct)) + .addGap(15) + ); + + tab.add("About", pnlAbout); + tab.add("License", pnlLicense); + + final JPanel pnlBase = new JPanel(); + final GroupLayout glBase = new GroupLayout(pnlBase); + pnlBase.setLayout(glBase); + glBase.setAutoCreateContainerGaps(true); + glBase.setAutoCreateGaps(true); + + glBase.setHorizontalGroup(glBase.createParallelGroup(Alignment.CENTER) + .addComponent(tab) + .addComponent(okButton) + ); - gl.setHorizontalGroup(gl.createParallelGroup(GroupLayout.Alignment.CENTER) - .addGroup(gl.createSequentialGroup() - .addGap(15).addComponent(imageLabel).addGap(30).addComponent(productField).addGap(30)) - .addComponent(licensePane) - .addComponent(okButton)); + glBase.setVerticalGroup(glBase.createSequentialGroup() + .addComponent(tab) + .addComponent(okButton) + ); - gl.setVerticalGroup(gl.createSequentialGroup() - .addGap(15) - .addGroup(gl.createParallelGroup() - .addComponent(imageLabel).addComponent(productField)) - .addGap(15) - .addComponent(licensePane) - .addComponent(okButton)); - getContentPane().add(basePanel, null); + setContentPane(pnlBase); setTitle("バージョン情報"); setResizable(true); + pack(); } private JTextArea createProductField() { @@ -149,6 +172,7 @@ public class MainFrame_AboutBox extends JDialog implements ActionListener { licenseField.setCaretPosition(0); licenseField.setEditable(false); final JScrollPane licensePane = new JScrollPane(licenseField); + licensePane.setPreferredSize(new Dimension(400, 400)); return licensePane; } -- 2.11.0