Java Code Examples for java.awt.peer.CheckboxPeer#setCheckboxGroup()

The following examples show how to use java.awt.peer.CheckboxPeer#setCheckboxGroup() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Checkbox.java    From jdk8u-jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 2
Source File: Checkbox.java    From jdk8u-dev-jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 3
Source File: Checkbox.java    From jdk-1.7-annotated with Apache License 2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 4
Source File: Checkbox.java    From jdk8u-jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 5
Source File: Checkbox.java    From jdk8u_jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 6
Source File: Checkbox.java    From openjdk-8 with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 7
Source File: Checkbox.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 8
Source File: Checkbox.java    From hottub with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 9
Source File: Checkbox.java    From Java8CN with Apache License 2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 10
Source File: Checkbox.java    From jdk1.8-source-analysis with Apache License 2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 11
Source File: Checkbox.java    From openjdk-jdk9 with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is {@code true} and the new
 * group already has a check box selected, this check box's state
 * is changed to {@code false}.  If the state of this check
 * box is {@code true} and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is {@code true}.
 *
 * @param     g   the new check box group, or {@code null}
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 12
Source File: Checkbox.java    From Bytecoder with Apache License 2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is {@code true} and the new
 * group already has a check box selected, this check box's state
 * is changed to {@code false}.  If the state of this check
 * box is {@code true} and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is {@code true}.
 *
 * @param     g   the new check box group, or {@code null}
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 13
Source File: Checkbox.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 14
Source File: Checkbox.java    From openjdk-jdk8u with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 15
Source File: Checkbox.java    From JDKSourceCode1.8 with MIT License 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 16
Source File: Checkbox.java    From jdk8u60 with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 17
Source File: Checkbox.java    From TencentKona-8 with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}
 
Example 18
Source File: Checkbox.java    From dragonwell8_jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Sets this check box's group to the specified check box group.
 * If this check box is already in a different check box group,
 * it is first taken out of that group.
 * <p>
 * If the state of this check box is <code>true</code> and the new
 * group already has a check box selected, this check box's state
 * is changed to <code>false</code>.  If the state of this check
 * box is <code>true</code> and the new group has no check box
 * selected, this check box becomes the selected checkbox for
 * the new group and its state is <code>true</code>.
 *
 * @param     g   the new check box group, or <code>null</code>
 *                to remove this check box from any check box group
 * @see       #getCheckboxGroup
 */
public void setCheckboxGroup(CheckboxGroup g) {
    CheckboxGroup oldGroup;
    boolean oldState;

    /* Do nothing if this check box has already belonged
     * to the check box group g.
     */
    if (this.group == g) {
        return;
    }

    synchronized (this) {
        oldGroup = this.group;
        oldState = getState();

        this.group = g;
        CheckboxPeer peer = (CheckboxPeer)this.peer;
        if (peer != null) {
            peer.setCheckboxGroup(g);
        }
        if (this.group != null && getState()) {
            if (this.group.getSelectedCheckbox() != null) {
                setState(false);
            } else {
                this.group.setSelectedCheckbox(this);
            }
        }
    }

    /* Locking check box below could cause deadlock with
     * CheckboxGroup's setSelectedCheckbox method.
     *
     * Fix for 4726853 by [email protected]
     * Here we should check if this check box was selected
     * in the previous group and set selected check box to
     * null for that group if so.
     */
    if (oldGroup != null && oldState) {
        oldGroup.setSelectedCheckbox(null);
    }
}