java.awt.peer.CheckboxPeer#setCheckboxGroup ( )源码实例Demo

下面列出了java.awt.peer.CheckboxPeer#setCheckboxGroup ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jdk1.8-source-analysis   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码2 项目: dragonwell8_jdk   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码3 项目: TencentKona-8   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码4 项目: jdk8u60   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码5 项目: JDKSourceCode1.8   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码6 项目: openjdk-jdk8u   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码7 项目: openjdk-jdk8u-backup   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码8 项目: Bytecoder   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码9 项目: openjdk-jdk9   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码10 项目: jdk8u-jdk   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码11 项目: Java8CN   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码12 项目: hottub   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码13 项目: openjdk-8-source   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码14 项目: openjdk-8   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码15 项目: jdk8u_jdk   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码16 项目: jdk8u-jdk   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码17 项目: jdk-1.7-annotated   文件: Checkbox.java
/**
 * 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);
    }
}
 
源代码18 项目: jdk8u-dev-jdk   文件: Checkbox.java
/**
 * 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);
    }
}