All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.l2fprod.common.swing.plaf.basic.BasicButtonBarUI Maven / Gradle / Ivy

Go to download

Orbit, a versatile image analysis software for biological image-based quantification

There is a newer version: 3.15
Show newest version
/**
 * $ $ License.
 *
 * Copyright $ L2FProd.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.l2fprod.common.swing.plaf.basic;

import java.awt.Dimension;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

import javax.swing.JComponent;
import javax.swing.plaf.ComponentUI;

import com.l2fprod.common.swing.JButtonBar;
import com.l2fprod.common.swing.PercentLayout;
import com.l2fprod.common.swing.plaf.ButtonBarUI;

/**
 * BasicButtonBarUI. 
* */ public class BasicButtonBarUI extends ButtonBarUI { protected JButtonBar bar; protected PropertyChangeListener propertyListener; public static ComponentUI createUI(JComponent c) { return new BasicButtonBarUI(); } public void installUI(JComponent c) { super.installUI(c); bar = (JButtonBar)c; installDefaults(); installListeners(); updateLayout(); } public void uninstallUI(JComponent c) { uninstallDefaults(); uninstallListeners(); super.uninstallUI(c); } protected void installDefaults() { } protected void uninstallDefaults() { } protected void installListeners() { propertyListener = createPropertyChangeListener(); bar.addPropertyChangeListener(propertyListener); } protected void uninstallListeners() { bar.removePropertyChangeListener(propertyListener); } protected PropertyChangeListener createPropertyChangeListener() { return new ChangeListener(); } protected void updateLayout() { if (bar.getOrientation() == JButtonBar.HORIZONTAL) { bar.setLayout(new PercentLayout(PercentLayout.HORIZONTAL, 2)); } else { bar.setLayout(new PercentLayout(PercentLayout.VERTICAL, 2)); } } public Dimension getPreferredSize(JComponent c) { JButtonBar b = (JButtonBar)c; Dimension preferred = b.getLayout().preferredLayoutSize(c); if (b.getOrientation() == JButtonBar.HORIZONTAL) { return new Dimension(preferred.width, 53); } else { return new Dimension(74, preferred.height); } } private class ChangeListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals(JButtonBar.ORIENTATION_CHANGED_KEY)) { updateLayout(); bar.revalidate(); bar.repaint(); } } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy