KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sape > carbon > services > console > ExpandablePanel


1 package org.sape.carbon.services.console;
2
3 import java.awt.Component JavaDoc;
4
5 import javax.swing.JPanel JavaDoc;
6
7 /**
8  *
9  * @author Greg Hinkle
10  */

11 public class ExpandablePanel extends JPanel JavaDoc {
12     private boolean isContentCollapsed = false;
13     
14     /** Creates new form ExpandablePanel */
15     public ExpandablePanel(String JavaDoc title, Component JavaDoc content) {
16         initComponents();
17         
18         this.contentPanel.add(content);
19         this.contentLabel.setText(title);
20     }
21     
22     public void setCollapsed(boolean isCollapsed) {
23         this.contentPanel.setVisible(!isCollapsed);
24         if (isCollapsed) {
25            this.collapseButton.setText("+");
26         } else {
27            this.collapseButton.setText("-");
28         }
29         this.repaint();
30     }
31     
32     /** This method is called from within the constructor to
33      * initialize the form.
34      * WARNING: Do NOT modify this code. The content of this method is
35      * always regenerated by the Form Editor.
36      */

37     private void initComponents() {//GEN-BEGIN:initComponents
38
jPanel1 = new javax.swing.JPanel JavaDoc();
39         collapseButton = new javax.swing.JButton JavaDoc();
40         contentLabel = new javax.swing.JLabel JavaDoc();
41         contentPanel = new javax.swing.JPanel JavaDoc();
42
43         setLayout(new java.awt.BorderLayout JavaDoc());
44
45         setBorder(new javax.swing.border.CompoundBorder JavaDoc(new javax.swing.border.EtchedBorder JavaDoc(), new javax.swing.border.EmptyBorder JavaDoc(new java.awt.Insets JavaDoc(6, 6, 6, 6))));
46         jPanel1.setLayout(new java.awt.FlowLayout JavaDoc(java.awt.FlowLayout.LEFT));
47
48         collapseButton.setFont(new java.awt.Font JavaDoc("Arial", 0, 10));
49         collapseButton.setText("-");
50         collapseButton.setMargin(new java.awt.Insets JavaDoc(2, 2, 2, 2));
51         collapseButton.setPreferredSize(new java.awt.Dimension JavaDoc(18, 18));
52         collapseButton.addActionListener(new java.awt.event.ActionListener JavaDoc() {
53             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
54                 collapseButtonActionPerformed(evt);
55             }
56         });
57
58         jPanel1.add(collapseButton);
59
60         contentLabel.setText("ContentLabel");
61         contentLabel.setMaximumSize(new java.awt.Dimension JavaDoc(200, 15));
62         contentLabel.setPreferredSize(new java.awt.Dimension JavaDoc(200, 15));
63         jPanel1.add(contentLabel);
64
65         add(jPanel1, java.awt.BorderLayout.NORTH);
66
67         contentPanel.setLayout(new javax.swing.BoxLayout JavaDoc(contentPanel, javax.swing.BoxLayout.Y_AXIS));
68
69         add(contentPanel, java.awt.BorderLayout.CENTER);
70
71     }//GEN-END:initComponents
72

73     private void collapseButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_collapseButtonActionPerformed
74
// Add your handling code here:
75
this.isContentCollapsed = !this.isContentCollapsed;
76
77         this.setCollapsed(this.isContentCollapsed);
78     }//GEN-LAST:event_collapseButtonActionPerformed
79

80     private void contentToggleButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_contentToggleButtonActionPerformed
81
}//GEN-LAST:event_contentToggleButtonActionPerformed
82

83     
84     // Variables declaration - do not modify//GEN-BEGIN:variables
85
private javax.swing.JButton JavaDoc collapseButton;
86     private javax.swing.JLabel JavaDoc contentLabel;
87     private javax.swing.JPanel JavaDoc jPanel1;
88     private javax.swing.JPanel JavaDoc contentPanel;
89     // End of variables declaration//GEN-END:variables
90

91 }
92
Popular Tags