1   package capocalGUI;
2   
3   import java.awt.BorderLayout;
4   import java.awt.EventQueue;
5   import java.awt.Font;
6   import java.awt.event.ActionEvent;
7   import java.awt.event.WindowEvent;
8   
9   import javax.swing.AbstractAction;
10  import javax.swing.Action;
11  import javax.swing.JButton;
12  import javax.swing.JFrame;
13  import javax.swing.JPanel;
14  import javax.swing.JTextPane;
15  import javax.swing.UIManager;
16  import javax.swing.border.EmptyBorder;
17  
18  /**
19   * @author Timo Koski
20   *
21   */
22  public class Ck_about extends JFrame {
23  
24      /**
25       * 
26       */
27      private static final long serialVersionUID = 1L;
28      private JPanel contentPane;
29      private final JPanel panel = new JPanel();
30      private final JTextPane txtpnCapoeiraHarjoituskalenteriV = new JTextPane();
31      private final JPanel panel_1 = new JPanel();
32      private final JButton btnSulje = new JButton("Sulje");
33      private final Action actionSulje = new SwingAction();
34  
35      /**
36       * Launch the application.
37       * @param args ei käytössä
38       */
39      public static void main(String[] args) {
40          try {
41              UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
42          } catch (Throwable e) {
43              e.printStackTrace();
44          }
45          EventQueue.invokeLater(new Runnable() {
46              public void run() {
47                  try {
48                      Ck_about frame = new Ck_about();
49                      frame.setVisible(true);
50                  } catch (Exception e) {
51                      e.printStackTrace();
52                  }
53              }
54          });
55      }
56  
57      /**
58       * Create the frame.
59       */
60      @SuppressWarnings("static-access")
61      public Ck_about() {
62          setTitle("Capoeira Harjoituskalenteri, about");
63          setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
64          setBounds(100, 100, 340, 300);
65          contentPane = new JPanel();
66          contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
67          contentPane.setLayout(new BorderLayout(0, 0));
68          setContentPane(contentPane);
69          
70          contentPane.add(panel, BorderLayout.CENTER);
71          panel.setLayout(new BorderLayout(0, 0));
72          txtpnCapoeiraHarjoituskalenteriV.setFont(new Font("Tahoma", Font.BOLD, 14));
73          txtpnCapoeiraHarjoituskalenteriV.setEditable(false);
74          txtpnCapoeiraHarjoituskalenteriV.setText("Capoeira harjoituskalenteri\r\n\r\nv 0.1b\r\n\r\nTimo Koski");
75          
76          panel.add(txtpnCapoeiraHarjoituskalenteriV, BorderLayout.CENTER);
77          
78          panel.add(panel_1, BorderLayout.SOUTH);
79          btnSulje.setAction(actionSulje);
80          
81          panel_1.add(btnSulje);
82      }
83  
84      private class SwingAction extends AbstractAction {
85          /**
86           * 
87           */
88          private static final long serialVersionUID = 1L;
89          public SwingAction() {
90              putValue(NAME, "Sulje");
91              putValue(SHORT_DESCRIPTION, "Sulkee ikkunan");
92          }
93          public void actionPerformed(ActionEvent e) {
94              lopeta();
95          }
96      }
97      /**
98       * Sulkee ikkunan.
99       */
100     public void lopeta() {
101         processWindowEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));
102     }
103 }
104