Hi Brian, You will have to extend ULCSplitPane.
Please see the snippet below. Thanks and regards, -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of McCarty, Brian Sent: Thursday, January 18, 2007 10:19 PM To: [email protected] Subject: [ULC-developer] SplitPane event Is there a way to detect when the divider on a split pane has been clicked. I would like to perform an action after the divider bar is clicked but before the divider is moved. Sample code would be very helpful. Thanks, Brian McCarty ---------------------- import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JSplitPane; import javax.swing.plaf.basic.BasicSplitPaneDivider; import javax.swing.plaf.basic.BasicSplitPaneUI; import com.ulcjava.base.application.AbstractApplication; import com.ulcjava.base.application.ULCBorderLayoutPane; import com.ulcjava.base.application.ULCButton; import com.ulcjava.base.application.ULCComponent; import com.ulcjava.base.application.ULCFrame; import com.ulcjava.base.application.ULCLabel; import com.ulcjava.base.application.ULCSplitPane; import com.ulcjava.base.application.event.ActionEvent; import com.ulcjava.base.application.event.IActionListener; import com.ulcjava.base.client.UISplitPane; import com.ulcjava.base.development.DevelopmentRunner; import com.ulcjava.base.shared.UlcEventCategories; public class MousePressOnSplitPaneDividerSnippet extends AbstractApplication { public void start() { ULCFrame frame = new ULCFrame(); ULCMySplitPane splitPane = new ULCMySplitPane(ULCSplitPane.HORIZONTAL_SPLIT, new ULCButton("Button"), new ULCLabel("Label")); splitPane.addActionListener(new IActionListener() { public void actionPerformed(ActionEvent event) { if (event.getActionCommand().equals("MousePressed")) { System.out.println("MousePressed on Divider"); } } }); frame.getContentPane().add(splitPane, ULCBorderLayoutPane.CENTER); frame.setDefaultCloseOperation(ULCFrame.TERMINATE_ON_CLOSE); frame.setSize(300,400); frame.setVisible(true); } public static void main(String[] args) { DevelopmentRunner.setApplicationClass(MousePressOnSplitPaneDividerSn ippet.class); DevelopmentRunner.run(); } public static class ULCMySplitPane extends ULCSplitPane { public ULCMySplitPane(int orientation, ULCComponent leftComponent, ULCComponent rightComponent) { super(orientation, leftComponent, rightComponent); } protected String typeString() { return UIMySplitPane.class.getName(); } public void addActionListener(IActionListener actionListener) { addListener(UlcEventCategories.ACTION_EVENT_CATEGORY, actionListener); } public void removeActionListener(IActionListener actionListener) { removeListener(UlcEventCategories.ACTION_EVENT_CATEGORY, actionListener); } } public static class UIMySplitPane extends UISplitPane { protected void postInitializeState() { super.postInitializeState(); JSplitPane jSplitPane = getBasicSplitPane(); BasicSplitPaneDivider divider = ((BasicSplitPaneUI)jSplitPane.getUI()).getDivider(); divider.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { fireActionPerformedULC("MousePressed", e.getModifiers()); } public void mouseReleased(MouseEvent e) { } }); } } } _______________________________________________ ULC-developer mailing list [email protected] http://lists.canoo.com/mailman/listinfo/ulc-developer
