Thread: [Mc4j-cvs] mc4j/src/org/mc4j/console/swing SectionHolder.java,1.9,1.10
Brought to you by:
ghinkl
From: Greg H. <gh...@us...> - 2006-04-12 19:14:49
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/swing In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20162/src/org/mc4j/console/swing Modified Files: SectionHolder.java Log Message: Merging EMS into head for the 2.0 release work Index: SectionHolder.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/swing/SectionHolder.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** SectionHolder.java 13 Oct 2004 05:03:28 -0000 1.9 --- SectionHolder.java 12 Apr 2006 19:14:11 -0000 1.10 *************** *** 1,4 **** /* ! * Copyright 2002-2004 Greg Hinkle * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,4 ---- /* ! * Copyright 2002-2005 Greg Hinkle * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 14,195 **** * limitations under the License. */ - package org.mc4j.console.swing; ! import java.awt.BorderLayout; ! import java.awt.Color; ! import java.awt.Component; ! import java.awt.LayoutManager2; ! import java.awt.event.ItemEvent; ! import java.awt.event.ItemListener; ! import java.awt.event.WindowAdapter; ! import java.awt.event.WindowEvent; ! import java.net.URL; ! import javax.swing.BoxLayout; ! import javax.swing.ImageIcon; ! import javax.swing.JCheckBox; ! import javax.swing.JFrame; ! import javax.swing.JPanel; ! import javax.swing.JScrollPane; ! import javax.swing.JTable; ! import javax.swing.JTree; /** ! * @author Greg Hinkle (gh...@us...), September 2002 * @version $Revision$($Author$ / $Date$) */ ! public class SectionHolder ! extends ComponentBorder ! implements ItemListener { ! ! JCheckBox button; public SectionHolder() { ! this(""); ! } ! /** ! * Creates a new instance of SectionHolder ! */ ! public SectionHolder(String title) { ! super(new JCheckBox(title), Color.black, 4); ! this.button = (JCheckBox) super.getTitledComponent(); ! ! setOpaque(false); ! //this.button.setOpaque(false); ! this.button.setContentAreaFilled(false); ! this.button.setFocusPainted(false); ! ! ClassLoader ld = this.getClass().getClassLoader(); ! URL url = ld.getResource("images/ToggleOpen.gif"); ! //System.out.println("URL: " + url); ! if (url != null) { ! button.setIcon(new ImageIcon(url)); ! } ! URL url2 = ld.getResource("images/ToggleClosed.gif"); ! if (url2 != null) { ! //System.out.println("URL2: " + url2); ! button.setDisabledIcon(new ImageIcon(url2)); ! ! button.setSelectedIcon(new ImageIcon(url2)); ! } ! // button.setDisabledSelectedIcon( ! // new ImageIcon("org/mc4j/console/ToggleChanging.gif")); ! ! URL url3 = ld.getResource("images/ToggleChanging.gif"); ! if (url3 != null) { ! button.setPressedIcon(new ImageIcon(url3)); ! } ! this.button.addItemListener(this); ! } ! ! public void setTitle(String title) { ! this.button.setText(title); ! invalidate(); ! doLayout(); ! } ! ! /** ! * Invoked when an item has been selected or deselected by the user. ! * The code written for this method performs the operations ! * that need to occur when an item is selected (or deselected). ! */ ! public void itemStateChanged(ItemEvent e) { ! //System.out.println("SectionHolder had an itemevent: " + e); ! if (e.getStateChange() == ItemEvent.DESELECTED) { ! maximize(); ! } else { ! minimize(); ! } ! ! Component[] comp = getComponents(); ! for (int i = 0; i < comp.length; i++) { ! Component component = comp[i]; ! component.doLayout(); ! } ! ! try { ! LayoutManager2 parentLayout = (LayoutManager2) getParent().getLayout(); ! if (parentLayout != null) ! parentLayout.invalidateLayout(getParent()); ! ! getParent().doLayout(); ! } catch(ClassCastException cce) { ! System.out.println("No layoutmgr2"); ! } ! ! revalidate(); ! ! } ! ! public static void main(String args[]) { ! final JFrame fr = new JFrame(); ! fr.getContentPane().setBackground(Color.WHITE); ! ! JScrollPane scrollPane = new JScrollPane(); ! JPanel base = new JPanel(); ! ! scrollPane.setViewportView(base); ! fr.getContentPane().add(scrollPane); ! ! base.setOpaque(false); ! base.setLayout(new BoxLayout(base,BoxLayout.Y_AXIS)); ! ! scrollPane.getVerticalScrollBar().setUnitIncrement(10); ! ! SectionHolder a = new SectionHolder("This is section A"); ! a.setLayout(new BorderLayout()); ! a.setTitle("This is section A"); ! a.add(new JTable(new Object[][]{{"A", "B", "C"}, {"Foo", "Bar", "Baz"}, {"X", "Y", "Z"}}, new Object[]{"First", "Second", "Third"}), BorderLayout.CENTER); ! base.add(a); ! ! for (int i = 0; i < 10;i++) { ! SectionHolder b = new SectionHolder(); ! b.setTitle("This is section B - " + i); ! b.add(new JTable(new Object[][]{{"A", "B", "C"}, {"Foo", "Bar", "Baz"}, {"X", "Y", "Z"}}, new Object[]{"First", "Second", "Third"})); ! base.add(b); ! } ! ! for (int i = 11; i < 20; i++) { ! SectionHolder h = new SectionHolder("Section Holder #: " + i); ! h.add(new JTree()); ! base.add(h); ! } ! ! ! /* ! System.out.println("Plain table"); ! JTable t = new JTable(new Object[][]{{"A", "B", "C"}, {"Foo", "Bar", "Baz"}, {"X", "Y", "Z"}}, new Object[]{"First", "Second", "Third"}); ! System.out.println("min: " + t.getMinimumSize()); ! System.out.println("pref: " + t.getPreferredSize()); ! System.out.println("max: " + t.getMaximumSize()); ! ! System.out.println("Table in a JPanel"); ! JPanel temp = new JPanel(); ! temp.add(t); ! System.out.println("min: " + temp.getMinimumSize()); ! System.out.println("pref: " + temp.getPreferredSize()); ! System.out.println("max: " + temp.getComponent(0).getMaximumSize()); ! ! */ ! ! //fr.getContentPane().add(Box.createVerticalGlue()); ! ! //SpringUtilities.makeCompactGrid(fr.getContentPane(), 2, 1, 10, 10, 3, 3); ! ! fr.getContentPane().doLayout(); ! ! fr.pack(); ! fr.setVisible(true); ! fr.addWindowListener(new WindowAdapter() { ! public void windowClosing(WindowEvent e) { ! System.exit(0); ! } ! public void windowActivated(WindowEvent e) { ! fr.getContentPane().invalidate(); ! fr.getContentPane().doLayout(); ! } ! }); } } --- 14,34 ---- * limitations under the License. */ package org.mc4j.console.swing; ! import org.jdesktop.swingx.JXTaskPane; ! import java.awt.*; /** ! * @author Greg Hinkle (gh...@us...), Dec 27, 2005 * @version $Revision$($Author$ / $Date$) */ ! public class SectionHolder extends JXTaskPane { public SectionHolder() { ! // setMaximumSize(new Dimension(Short.MAX_VALUE,(int) ! // getMaximumSize().width)); ! setAlignmentX(Component.LEFT_ALIGNMENT); } } |