javax.swing.JPasswordField#echoCharIsSet ( )源码实例Demo

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

源代码1 项目: jdk1.8-source-analysis   文件: PasswordView.java
/**
 * Renders the given range in the model as normal unselected
 * text.  This sets the foreground color and echos the characters
 * using the value returned by getEchoChar().
 *
 * @param g the graphics context
 * @param x the starting X coordinate >= 0
 * @param y the starting Y coordinate >= 0
 * @param p0 the starting offset in the model >= 0
 * @param p1 the ending offset in the model >= p0
 * @return the X location of the end of the range >= 0
 * @exception BadLocationException if p0 or p1 are out of range
 */
protected int drawUnselectedText(Graphics g, int x, int y,
                                 int p0, int p1) throws BadLocationException {

    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.drawUnselectedText(g, x, y, p0, p1);
        }
        if (f.isEnabled()) {
            g.setColor(f.getForeground());
        }
        else {
            g.setColor(f.getDisabledTextColor());
        }
        char echoChar = f.getEchoChar();
        int n = p1 - p0;
        for (int i = 0; i < n; i++) {
            x = drawEchoCharacter(g, x, y, echoChar);
        }
    }
    return x;
}
 
源代码2 项目: Java8CN   文件: PasswordView.java
/**
 * Determines the preferred span for this view along an
 * axis.
 *
 * @param axis may be either View.X_AXIS or View.Y_AXIS
 * @return   the span the view would like to be rendered into &gt;= 0.
 *           Typically the view is told to render into the span
 *           that is returned, although there is no guarantee.
 *           The parent may choose to resize or break the view.
 */
public float getPreferredSpan(int axis) {
    switch (axis) {
    case View.X_AXIS:
        Container c = getContainer();
        if (c instanceof JPasswordField) {
            JPasswordField f = (JPasswordField) c;
            if (f.echoCharIsSet()) {
                char echoChar = f.getEchoChar();
                FontMetrics m = f.getFontMetrics(f.getFont());
                Document doc = getDocument();
                return m.charWidth(echoChar) * getDocument().getLength();
            }
        }
    }
    return super.getPreferredSpan(axis);
}
 
源代码3 项目: openjdk-jdk9   文件: PasswordView.java
/**
 * Determines the preferred span for this view along an
 * axis.
 *
 * @param axis may be either View.X_AXIS or View.Y_AXIS
 * @return   the span the view would like to be rendered into &gt;= 0.
 *           Typically the view is told to render into the span
 *           that is returned, although there is no guarantee.
 *           The parent may choose to resize or break the view.
 */
public float getPreferredSpan(int axis) {
    switch (axis) {
    case View.X_AXIS:
        Container c = getContainer();
        if (c instanceof JPasswordField) {
            JPasswordField f = (JPasswordField) c;
            if (f.echoCharIsSet()) {
                char echoChar = f.getEchoChar();
                FontMetrics m = f.getFontMetrics(f.getFont());
                Document doc = getDocument();
                return m.charWidth(echoChar) * getDocument().getLength();
            }
        }
    }
    return super.getPreferredSpan(axis);
}
 
源代码4 项目: openjdk-jdk8u   文件: PasswordView.java
/**
 * Provides a mapping from the view coordinate space to the logical
 * coordinate space of the model.
 *
 * @param fx the X coordinate &gt;= 0.0f
 * @param fy the Y coordinate &gt;= 0.0f
 * @param a the allocated region to render into
 * @return the location within the model that best represents the
 *  given point in the view
 * @see View#viewToModel
 */
public int viewToModel(float fx, float fy, Shape a, Position.Bias[] bias) {
    bias[0] = Position.Bias.Forward;
    int n = 0;
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.viewToModel(fx, fy, a, bias);
        }
        char echoChar = f.getEchoChar();
        int charWidth = f.getFontMetrics(f.getFont()).charWidth(echoChar);
        a = adjustAllocation(a);
        Rectangle alloc = (a instanceof Rectangle) ? (Rectangle)a :
                          a.getBounds();
        n = (charWidth > 0 ?
             ((int)fx - alloc.x) / charWidth : Integer.MAX_VALUE);
        if (n < 0) {
            n = 0;
        }
        else if (n > (getStartOffset() + getDocument().getLength())) {
            n = getDocument().getLength() - getStartOffset();
        }
    }
    return getStartOffset() + n;
}
 
源代码5 项目: JDKSourceCode1.8   文件: PasswordView.java
/**
 * Provides a mapping from the document model coordinate space
 * to the coordinate space of the view mapped to it.
 *
 * @param pos the position to convert &gt;= 0
 * @param a the allocated region to render into
 * @return the bounding box of the given position
 * @exception BadLocationException  if the given position does not
 *   represent a valid location in the associated document
 * @see View#modelToView
 */
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException {
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.modelToView(pos, a, b);
        }
        char echoChar = f.getEchoChar();
        FontMetrics m = f.getFontMetrics(f.getFont());

        Rectangle alloc = adjustAllocation(a).getBounds();
        int dx = (pos - getStartOffset()) * m.charWidth(echoChar);
        alloc.x += dx;
        alloc.width = 1;
        return alloc;
    }
    return null;
}
 
源代码6 项目: JDKSourceCode1.8   文件: PasswordView.java
/**
 * Renders the given range in the model as normal unselected
 * text.  This sets the foreground color and echos the characters
 * using the value returned by getEchoChar().
 *
 * @param g the graphics context
 * @param x the starting X coordinate &gt;= 0
 * @param y the starting Y coordinate &gt;= 0
 * @param p0 the starting offset in the model &gt;= 0
 * @param p1 the ending offset in the model &gt;= p0
 * @return the X location of the end of the range &gt;= 0
 * @exception BadLocationException if p0 or p1 are out of range
 */
protected int drawUnselectedText(Graphics g, int x, int y,
                                 int p0, int p1) throws BadLocationException {

    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.drawUnselectedText(g, x, y, p0, p1);
        }
        if (f.isEnabled()) {
            g.setColor(f.getForeground());
        }
        else {
            g.setColor(f.getDisabledTextColor());
        }
        char echoChar = f.getEchoChar();
        int n = p1 - p0;
        for (int i = 0; i < n; i++) {
            x = drawEchoCharacter(g, x, y, echoChar);
        }
    }
    return x;
}
 
源代码7 项目: jdk8u-dev-jdk   文件: PasswordView.java
/**
 * Renders the given range in the model as normal unselected
 * text.  This sets the foreground color and echos the characters
 * using the value returned by getEchoChar().
 *
 * @param g the graphics context
 * @param x the starting X coordinate &gt;= 0
 * @param y the starting Y coordinate &gt;= 0
 * @param p0 the starting offset in the model &gt;= 0
 * @param p1 the ending offset in the model &gt;= p0
 * @return the X location of the end of the range &gt;= 0
 * @exception BadLocationException if p0 or p1 are out of range
 */
protected int drawUnselectedText(Graphics g, int x, int y,
                                 int p0, int p1) throws BadLocationException {

    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.drawUnselectedText(g, x, y, p0, p1);
        }
        if (f.isEnabled()) {
            g.setColor(f.getForeground());
        }
        else {
            g.setColor(f.getDisabledTextColor());
        }
        char echoChar = f.getEchoChar();
        int n = p1 - p0;
        for (int i = 0; i < n; i++) {
            x = drawEchoCharacter(g, x, y, echoChar);
        }
    }
    return x;
}
 
源代码8 项目: jdk8u-jdk   文件: PasswordView.java
/**
 * Provides a mapping from the view coordinate space to the logical
 * coordinate space of the model.
 *
 * @param fx the X coordinate &gt;= 0.0f
 * @param fy the Y coordinate &gt;= 0.0f
 * @param a the allocated region to render into
 * @return the location within the model that best represents the
 *  given point in the view
 * @see View#viewToModel
 */
public int viewToModel(float fx, float fy, Shape a, Position.Bias[] bias) {
    bias[0] = Position.Bias.Forward;
    int n = 0;
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.viewToModel(fx, fy, a, bias);
        }
        char echoChar = f.getEchoChar();
        int charWidth = f.getFontMetrics(f.getFont()).charWidth(echoChar);
        a = adjustAllocation(a);
        Rectangle alloc = (a instanceof Rectangle) ? (Rectangle)a :
                          a.getBounds();
        n = (charWidth > 0 ?
             ((int)fx - alloc.x) / charWidth : Integer.MAX_VALUE);
        if (n < 0) {
            n = 0;
        }
        else if (n > (getStartOffset() + getDocument().getLength())) {
            n = getDocument().getLength() - getStartOffset();
        }
    }
    return getStartOffset() + n;
}
 
源代码9 项目: openjdk-jdk8u-backup   文件: PasswordView.java
/**
 * Provides a mapping from the view coordinate space to the logical
 * coordinate space of the model.
 *
 * @param fx the X coordinate &gt;= 0.0f
 * @param fy the Y coordinate &gt;= 0.0f
 * @param a the allocated region to render into
 * @return the location within the model that best represents the
 *  given point in the view
 * @see View#viewToModel
 */
public int viewToModel(float fx, float fy, Shape a, Position.Bias[] bias) {
    bias[0] = Position.Bias.Forward;
    int n = 0;
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.viewToModel(fx, fy, a, bias);
        }
        char echoChar = f.getEchoChar();
        int charWidth = f.getFontMetrics(f.getFont()).charWidth(echoChar);
        a = adjustAllocation(a);
        Rectangle alloc = (a instanceof Rectangle) ? (Rectangle)a :
                          a.getBounds();
        n = (charWidth > 0 ?
             ((int)fx - alloc.x) / charWidth : Integer.MAX_VALUE);
        if (n < 0) {
            n = 0;
        }
        else if (n > (getStartOffset() + getDocument().getLength())) {
            n = getDocument().getLength() - getStartOffset();
        }
    }
    return getStartOffset() + n;
}
 
源代码10 项目: jdk8u-dev-jdk   文件: PasswordView.java
/**
 * Provides a mapping from the view coordinate space to the logical
 * coordinate space of the model.
 *
 * @param fx the X coordinate &gt;= 0.0f
 * @param fy the Y coordinate &gt;= 0.0f
 * @param a the allocated region to render into
 * @return the location within the model that best represents the
 *  given point in the view
 * @see View#viewToModel
 */
public int viewToModel(float fx, float fy, Shape a, Position.Bias[] bias) {
    bias[0] = Position.Bias.Forward;
    int n = 0;
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.viewToModel(fx, fy, a, bias);
        }
        char echoChar = f.getEchoChar();
        int charWidth = f.getFontMetrics(f.getFont()).charWidth(echoChar);
        a = adjustAllocation(a);
        Rectangle alloc = (a instanceof Rectangle) ? (Rectangle)a :
                          a.getBounds();
        n = (charWidth > 0 ?
             ((int)fx - alloc.x) / charWidth : Integer.MAX_VALUE);
        if (n < 0) {
            n = 0;
        }
        else if (n > (getStartOffset() + getDocument().getLength())) {
            n = getDocument().getLength() - getStartOffset();
        }
    }
    return getStartOffset() + n;
}
 
源代码11 项目: jdk8u-jdk   文件: PasswordView.java
/**
 * Determines the preferred span for this view along an
 * axis.
 *
 * @param axis may be either View.X_AXIS or View.Y_AXIS
 * @return   the span the view would like to be rendered into &gt;= 0.
 *           Typically the view is told to render into the span
 *           that is returned, although there is no guarantee.
 *           The parent may choose to resize or break the view.
 */
public float getPreferredSpan(int axis) {
    switch (axis) {
    case View.X_AXIS:
        Container c = getContainer();
        if (c instanceof JPasswordField) {
            JPasswordField f = (JPasswordField) c;
            if (f.echoCharIsSet()) {
                char echoChar = f.getEchoChar();
                FontMetrics m = f.getFontMetrics(f.getFont());
                Document doc = getDocument();
                return m.charWidth(echoChar) * getDocument().getLength();
            }
        }
    }
    return super.getPreferredSpan(axis);
}
 
源代码12 项目: TencentKona-8   文件: PasswordView.java
/**
 * Provides a mapping from the document model coordinate space
 * to the coordinate space of the view mapped to it.
 *
 * @param pos the position to convert &gt;= 0
 * @param a the allocated region to render into
 * @return the bounding box of the given position
 * @exception BadLocationException  if the given position does not
 *   represent a valid location in the associated document
 * @see View#modelToView
 */
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException {
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.modelToView(pos, a, b);
        }
        char echoChar = f.getEchoChar();
        FontMetrics m = f.getFontMetrics(f.getFont());

        Rectangle alloc = adjustAllocation(a).getBounds();
        int dx = (pos - getStartOffset()) * m.charWidth(echoChar);
        alloc.x += dx;
        alloc.width = 1;
        return alloc;
    }
    return null;
}
 
源代码13 项目: Bytecoder   文件: PasswordView.java
/**
 * Provides a mapping from the view coordinate space to the logical
 * coordinate space of the model.
 *
 * @param fx the X coordinate &gt;= 0.0f
 * @param fy the Y coordinate &gt;= 0.0f
 * @param a the allocated region to render into
 * @return the location within the model that best represents the
 *  given point in the view
 * @see View#viewToModel
 */
public int viewToModel(float fx, float fy, Shape a, Position.Bias[] bias) {
    bias[0] = Position.Bias.Forward;
    int n = 0;
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.viewToModel(fx, fy, a, bias);
        }
        char echoChar = f.getEchoChar();
        int charWidth = f.getFontMetrics(f.getFont()).charWidth(echoChar);
        a = adjustAllocation(a);
        Rectangle alloc = (a instanceof Rectangle) ? (Rectangle)a :
                          a.getBounds();
        n = (charWidth > 0 ?
             ((int)fx - alloc.x) / charWidth : Integer.MAX_VALUE);
        if (n < 0) {
            n = 0;
        }
        else if (n > (getStartOffset() + getDocument().getLength())) {
            n = getDocument().getLength() - getStartOffset();
        }
    }
    return getStartOffset() + n;
}
 
源代码14 项目: openjdk-jdk8u-backup   文件: PasswordView.java
/**
 * Renders the given range in the model as selected text.  This
 * is implemented to render the text in the color specified in
 * the hosting component.  It assumes the highlighter will render
 * the selected background.  Uses the result of getEchoChar() to
 * display the characters.
 *
 * @param g the graphics context
 * @param x the starting X coordinate &gt;= 0
 * @param y the starting Y coordinate &gt;= 0
 * @param p0 the starting offset in the model &gt;= 0
 * @param p1 the ending offset in the model &gt;= p0
 * @return the X location of the end of the range &gt;= 0
 * @exception BadLocationException if p0 or p1 are out of range
 */
protected int drawSelectedText(Graphics g, int x,
                               int y, int p0, int p1) throws BadLocationException {
    g.setColor(selected);
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.drawSelectedText(g, x, y, p0, p1);
        }
        char echoChar = f.getEchoChar();
        int n = p1 - p0;
        for (int i = 0; i < n; i++) {
            x = drawEchoCharacter(g, x, y, echoChar);
        }
    }
    return x;
}
 
源代码15 项目: openjdk-8   文件: PasswordView.java
/**
 * Provides a mapping from the view coordinate space to the logical
 * coordinate space of the model.
 *
 * @param fx the X coordinate &gt;= 0.0f
 * @param fy the Y coordinate &gt;= 0.0f
 * @param a the allocated region to render into
 * @return the location within the model that best represents the
 *  given point in the view
 * @see View#viewToModel
 */
public int viewToModel(float fx, float fy, Shape a, Position.Bias[] bias) {
    bias[0] = Position.Bias.Forward;
    int n = 0;
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.viewToModel(fx, fy, a, bias);
        }
        char echoChar = f.getEchoChar();
        int charWidth = f.getFontMetrics(f.getFont()).charWidth(echoChar);
        a = adjustAllocation(a);
        Rectangle alloc = (a instanceof Rectangle) ? (Rectangle)a :
                          a.getBounds();
        n = (charWidth > 0 ?
             ((int)fx - alloc.x) / charWidth : Integer.MAX_VALUE);
        if (n < 0) {
            n = 0;
        }
        else if (n > (getStartOffset() + getDocument().getLength())) {
            n = getDocument().getLength() - getStartOffset();
        }
    }
    return getStartOffset() + n;
}
 
源代码16 项目: jdk8u60   文件: PasswordView.java
/**
 * Renders the given range in the model as selected text.  This
 * is implemented to render the text in the color specified in
 * the hosting component.  It assumes the highlighter will render
 * the selected background.  Uses the result of getEchoChar() to
 * display the characters.
 *
 * @param g the graphics context
 * @param x the starting X coordinate &gt;= 0
 * @param y the starting Y coordinate &gt;= 0
 * @param p0 the starting offset in the model &gt;= 0
 * @param p1 the ending offset in the model &gt;= p0
 * @return the X location of the end of the range &gt;= 0
 * @exception BadLocationException if p0 or p1 are out of range
 */
protected int drawSelectedText(Graphics g, int x,
                               int y, int p0, int p1) throws BadLocationException {
    g.setColor(selected);
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.drawSelectedText(g, x, y, p0, p1);
        }
        char echoChar = f.getEchoChar();
        int n = p1 - p0;
        for (int i = 0; i < n; i++) {
            x = drawEchoCharacter(g, x, y, echoChar);
        }
    }
    return x;
}
 
源代码17 项目: openjdk-8   文件: PasswordView.java
/**
 * Renders the given range in the model as normal unselected
 * text.  This sets the foreground color and echos the characters
 * using the value returned by getEchoChar().
 *
 * @param g the graphics context
 * @param x the starting X coordinate &gt;= 0
 * @param y the starting Y coordinate &gt;= 0
 * @param p0 the starting offset in the model &gt;= 0
 * @param p1 the ending offset in the model &gt;= p0
 * @return the X location of the end of the range &gt;= 0
 * @exception BadLocationException if p0 or p1 are out of range
 */
protected int drawUnselectedText(Graphics g, int x, int y,
                                 int p0, int p1) throws BadLocationException {

    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (! f.echoCharIsSet()) {
            return super.drawUnselectedText(g, x, y, p0, p1);
        }
        if (f.isEnabled()) {
            g.setColor(f.getForeground());
        }
        else {
            g.setColor(f.getDisabledTextColor());
        }
        char echoChar = f.getEchoChar();
        int n = p1 - p0;
        for (int i = 0; i < n; i++) {
            x = drawEchoCharacter(g, x, y, echoChar);
        }
    }
    return x;
}
 
源代码18 项目: jdk8u_jdk   文件: PasswordView.java
/**
 * Determines the preferred span for this view along an
 * axis.
 *
 * @param axis may be either View.X_AXIS or View.Y_AXIS
 * @return   the span the view would like to be rendered into &gt;= 0.
 *           Typically the view is told to render into the span
 *           that is returned, although there is no guarantee.
 *           The parent may choose to resize or break the view.
 */
public float getPreferredSpan(int axis) {
    switch (axis) {
    case View.X_AXIS:
        Container c = getContainer();
        if (c instanceof JPasswordField) {
            JPasswordField f = (JPasswordField) c;
            if (f.echoCharIsSet()) {
                char echoChar = f.getEchoChar();
                FontMetrics m = f.getFontMetrics(f.getFont());
                Document doc = getDocument();
                return m.charWidth(echoChar) * getDocument().getLength();
            }
        }
    }
    return super.getPreferredSpan(axis);
}
 
源代码19 项目: hottub   文件: PasswordView.java
/**
 * Determines the preferred span for this view along an
 * axis.
 *
 * @param axis may be either View.X_AXIS or View.Y_AXIS
 * @return   the span the view would like to be rendered into &gt;= 0.
 *           Typically the view is told to render into the span
 *           that is returned, although there is no guarantee.
 *           The parent may choose to resize or break the view.
 */
public float getPreferredSpan(int axis) {
    switch (axis) {
    case View.X_AXIS:
        Container c = getContainer();
        if (c instanceof JPasswordField) {
            JPasswordField f = (JPasswordField) c;
            if (f.echoCharIsSet()) {
                char echoChar = f.getEchoChar();
                FontMetrics m = f.getFontMetrics(f.getFont());
                Document doc = getDocument();
                return m.charWidth(echoChar) * getDocument().getLength();
            }
        }
    }
    return super.getPreferredSpan(axis);
}
 
源代码20 项目: Bytecoder   文件: PasswordView.java
@SuppressWarnings("deprecation")
private float drawUnselectedTextImpl(Graphics g, float x, float y,
                                     int p0, int p1,
                                     boolean useFPAPI)
        throws BadLocationException
{
    Container c = getContainer();
    if (c instanceof JPasswordField) {
        JPasswordField f = (JPasswordField) c;
        if (!f.echoCharIsSet()) {
            boolean useDrawUnselectedFPAPI = useFPAPI
                    && drawUnselectedTextOverridden
                    && g instanceof Graphics2D;
            return (useDrawUnselectedFPAPI )
                    ? super.drawUnselectedText((Graphics2D) g, x, y, p0, p1)
                    : super.drawUnselectedText(g, (int) x, (int) y, p0, p1);
        }
        if (f.isEnabled()) {
            g.setColor(f.getForeground());
        }
        else {
            g.setColor(f.getDisabledTextColor());
        }
        char echoChar = f.getEchoChar();
        int n = p1 - p0;
        boolean useEchoCharFPAPI = useFPAPI
                && drawEchoCharacterOverridden
                && g instanceof Graphics2D;
        for (int i = 0; i < n; i++) {
            x = (useEchoCharFPAPI)
                    ? drawEchoCharacter((Graphics2D) g, x, y, echoChar)
                    : drawEchoCharacter(g, (int) x, (int) y, echoChar);
        }
    }
    return x;
}