Java Code Examples for javax.swing.JLabel.getParent()

The following are Jave code examples for showing how to use getParent() of the javax.swing.JLabel class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: freecol   File: DefaultTransferHandler.java   View Source Code Vote up 4 votes
/**
 * {@inheritDoc}
 */
@Override
public boolean importData(JComponent comp, Transferable t) {
    if (!t.isDataFlavorSupported(DefaultTransferHandler.flavor)) {
        return importFail(comp, "data flavor");
    }

    boolean ret;
    // This variable is used to temporarily keep the old
    // selected unit, while moving cargo from one carrier to another:
    UnitLabel oldSelectedUnit = null;
    try {
        // Get the data to transfer.
        JLabel data = (JLabel)t.getTransferData(DefaultTransferHandler.flavor);
        // Do not allow a transferable to be dropped upon itself:
        if (comp == data) return false;

        // Make sure we don't drop onto other Labels.
        if (comp instanceof AbstractGoodsLabel) {
            comp = getDropTarget(comp);
        } else if (comp instanceof UnitLabel) {
            UnitLabel unitLabel = (UnitLabel)comp;
            /**
             * If the unit/cargo is dropped on a carrier in port
             * then the ship is selected and the unit is added to
             * its cargo.  If the unit is not a carrier, but can
             * be equipped, and the goods can be converted to
             * equipment, equip the unit.
             *
             * If not, assume that the user wished to drop the
             * unit/cargo on the panel below.
             */
            if (unitLabel.getUnit().isCarrier()
                && unitLabel.getParent() instanceof InPortPanel
                && parentPanel instanceof PortPanel) {
                PortPanel portPanel = (PortPanel) parentPanel;
                if (data instanceof Draggable
                    && ((Draggable)data).isOnCarrier()) {
                    oldSelectedUnit = portPanel.getSelectedUnitLabel();
                }
                portPanel.setSelectedUnitLabel(unitLabel);
                comp = portPanel.getCargoPanel();
            } else if (unitLabel.canUnitBeEquippedWith(data)) {
                // don't do anything before partial amount has been checked
            } else {
                comp = getDropTarget(comp);
            }
        }

        ret = (data.getParent() == comp)
            ? importFail(comp, "data-already-present")
            : (data instanceof GoodsLabel)
            ? importGoods(comp, (GoodsLabel)data, oldSelectedUnit)
            : (data instanceof MarketLabel)
            ? importMarket(comp, (MarketLabel)data)
            : (data instanceof UnitLabel)
            ? importUnit(comp, (UnitLabel)data, oldSelectedUnit)
            : importFail(comp, data.toString());
    } catch (Exception e) { // FIXME: Suggest a reconnect?
        logger.log(Level.WARNING, "Import fail", e);
        ret = importFail(comp, "crash: " + e.toString());
    }
    return ret;
}
 
Example 2
Project: FreeCol   File: DefaultTransferHandler.java   View Source Code Vote up 4 votes
/**
 * {@inheritDoc}
 */
@Override
public boolean importData(JComponent comp, Transferable t) {
    if (!t.isDataFlavorSupported(DefaultTransferHandler.flavor)) {
        return importFail(comp, "data flavor");
    }

    boolean ret;
    // This variable is used to temporarily keep the old
    // selected unit, while moving cargo from one carrier to another:
    UnitLabel oldSelectedUnit = null;
    try {
        // Get the data to transfer.
        JLabel data = (JLabel)t.getTransferData(DefaultTransferHandler.flavor);
        // Do not allow a transferable to be dropped upon itself:
        if (comp == data) return false;

        // Make sure we don't drop onto other Labels.
        if (comp instanceof AbstractGoodsLabel) {
            comp = getDropTarget(comp);
        } else if (comp instanceof UnitLabel) {
            UnitLabel unitLabel = (UnitLabel)comp;
            /**
             * If the unit/cargo is dropped on a carrier in port
             * then the ship is selected and the unit is added to
             * its cargo.  If the unit is not a carrier, but can
             * be equipped, and the goods can be converted to
             * equipment, equip the unit.
             *
             * If not, assume that the user wished to drop the
             * unit/cargo on the panel below.
             */
            if (unitLabel.getUnit().isCarrier()
                && unitLabel.getParent() instanceof InPortPanel
                && parentPanel instanceof PortPanel) {
                PortPanel portPanel = (PortPanel) parentPanel;
                if (data instanceof Draggable
                    && ((Draggable)data).isOnCarrier()) {
                    oldSelectedUnit = portPanel.getSelectedUnitLabel();
                }
                portPanel.setSelectedUnitLabel(unitLabel);
                comp = portPanel.getCargoPanel();
            } else if (unitLabel.canUnitBeEquippedWith(data)) {
                // don't do anything before partial amount has been checked
            } else {
                comp = getDropTarget(comp);
            }
        }

        ret = (data.getParent() == comp)
            ? importFail(comp, "data-already-present")
            : (data instanceof GoodsLabel)
            ? importGoods(comp, (GoodsLabel)data, oldSelectedUnit)
            : (data instanceof MarketLabel)
            ? importMarket(comp, (MarketLabel)data)
            : (data instanceof UnitLabel)
            ? importUnit(comp, (UnitLabel)data, oldSelectedUnit)
            : importFail(comp, data.toString());
    } catch (Exception e) { // FIXME: Suggest a reconnect?
        logger.log(Level.WARNING, "Import fail", e);
        ret = importFail(comp, "crash: " + e.toString());
    }
    return ret;
}