📄 jlabel.java
字号:
* This method is used primarily for debugging purposes and returns a string * that can be used to represent this label. * * @return A string to represent this label. */ protected String paramString() { return "JLabel"; } /** * This method returns the label text. * * @return The label text. */ public String getText() { return text; } /** * This method changes the "text" property. The given text will be painted * in the label. * * @param newText The label's text. */ public void setText(String newText) { if (text != newText) { String oldText = text; text = newText; firePropertyChange("text", oldText, newText); if (text != null && text.length() <= displayedMnemonicIndex) setDisplayedMnemonicIndex(text.length() - 1); revalidate(); repaint(); } } /** * This method returns the active icon. The active icon is painted when the * label is enabled. * * @return The active icon. */ public Icon getIcon() { return icon; } /** * This method changes the "icon" property. This icon (the active icon) will * be the one displayed when the label is enabled. * * @param newIcon The active icon. */ public void setIcon(Icon newIcon) { if (icon != newIcon) { Icon oldIcon = icon; icon = newIcon; firePropertyChange("icon", oldIcon, newIcon); } } /** * This method returns the disabled icon. The disabled icon is painted when * the label is disabled. If the disabled icon is null and the active icon * is an ImageIcon, this method returns a grayed version of the icon. The * grayed version of the icon becomes the disabledIcon. * * @return The disabled icon. */ public Icon getDisabledIcon() { if (disabledIcon == null && icon instanceof ImageIcon) disabledIcon = new ImageIcon(GrayFilter.createDisabledImage(((ImageIcon) icon) .getImage())); return disabledIcon; } /** * This method changes the "disabledIcon" property. This icon (the disabled * icon) will be the one displayed when the label is disabled. * * @param newIcon The disabled icon. */ public void setDisabledIcon(Icon newIcon) { if (disabledIcon != newIcon) { Icon oldIcon = disabledIcon; disabledIcon = newIcon; firePropertyChange("disabledIcon", oldIcon, newIcon); } } /** * This method sets the keycode that will be the label's mnemonic. If the * label is used as a label for another component, the label will give * focus to that component when the mnemonic is activated. * * @param mnemonic The keycode to use for the mnemonic. */ public void setDisplayedMnemonic(int mnemonic) { if (displayedMnemonic != mnemonic) { firePropertyChange("displayedMnemonic", displayedMnemonic, mnemonic); displayedMnemonic = mnemonic; if (text != null) setDisplayedMnemonicIndex(text.toUpperCase().indexOf(mnemonic)); } } /** * This method sets the character that will be the mnemonic used. If the * label is used as a label for another component, the label will give * focus to that component when the mnemonic is activated. * * @param mnemonic The character to use for the mnemonic. */ public void setDisplayedMnemonic(char mnemonic) { setDisplayedMnemonic((int) Character.toUpperCase(mnemonic)); } /** * This method returns the keycode that is used for the label's mnemonic. * * @return The keycode that is used for the label's mnemonic. */ public int getDisplayedMnemonic() { return (int) displayedMnemonic; } /** * This method sets which character in the text will be the underlined * character. If the given index is -1, then this indicates that there is * no mnemonic. If the index is less than -1 or if the index is equal to * the length, this method will throw an IllegalArgumentException. * * @param newIndex The index of the character to underline. * * @throws IllegalArgumentException If index less than -1 or index equals * length. */ public void setDisplayedMnemonicIndex(int newIndex) throws IllegalArgumentException { if (newIndex < -1 || (text != null && newIndex >= text.length())) throw new IllegalArgumentException(); if (newIndex == -1 || text == null || text.charAt(newIndex) != displayedMnemonic) newIndex = -1; if (newIndex != displayedMnemonicIndex) { int oldIndex = displayedMnemonicIndex; displayedMnemonicIndex = newIndex; firePropertyChange("displayedMnemonicIndex", oldIndex, newIndex); } } /** * This method returns which character in the text will be the underlined * character. * * @return The index of the character that will be underlined. */ public int getDisplayedMnemonicIndex() { return displayedMnemonicIndex; } /** * This method ensures that the key is valid as a horizontal alignment. * Valid keys are: LEFT, CENTER, RIGHT, LEADING, TRAILING * * @param key The key to check. * @param message The message of the exception to be thrown if the key is * invalid. * * @return The key if it's valid. * * @throws IllegalArgumentException If the key is invalid. */ protected int checkHorizontalKey(int key, String message) { if (key != LEFT && key != CENTER && key != RIGHT && key != LEADING && key != TRAILING) throw new IllegalArgumentException(message); else return key; } /** * This method ensures that the key is valid as a vertical alignment. Valid * keys are: TOP, CENTER, and BOTTOM. * * @param key The key to check. * @param message The message of the exception to be thrown if the key is * invalid. * * @return The key if it's valid. * * @throws IllegalArgumentException If the key is invalid. */ protected int checkVerticalKey(int key, String message) { if (key != TOP && key != BOTTOM && key != CENTER) throw new IllegalArgumentException(message); else return key; } /** * This method returns the gap between the icon and the text. * * @return The gap between the icon and the text. */ public int getIconTextGap() { return iconTextGap; } /** * This method changes the "iconTextGap" property. The iconTextGap * determines how much space there is between the icon and the text. * * @param newGap The gap between the icon and the text. */ public void setIconTextGap(int newGap) { if (iconTextGap != newGap) { firePropertyChange("iconTextGap", iconTextGap, newGap); iconTextGap = newGap; } } /** * This method returns the vertical alignment of the label. * * @return The vertical alignment of the label. */ public int getVerticalAlignment() { return verticalAlignment; } /** * This method changes the "verticalAlignment" property of the label. The * vertical alignment determines how where the label will be placed * vertically. If the alignment is not valid, it will default to the * center. * * @param alignment The vertical alignment of the label. */ public void setVerticalAlignment(int alignment) { if (alignment == verticalAlignment) return; int oldAlignment = verticalAlignment; verticalAlignment = checkVerticalKey(alignment, "verticalAlignment"); firePropertyChange("verticalAlignment", oldAlignment, verticalAlignment); } /** * This method returns the horziontal alignment of the label. * * @return The horizontal alignment of the label. */ public int getHorizontalAlignment() { return horizontalAlignment; } /** * This method changes the "horizontalAlignment" property. The horizontal * alignment determines where the label will be placed horizontally. * * @param alignment The horizontal alignment of the label. */ public void setHorizontalAlignment(int alignment) { if (horizontalAlignment == alignment) return; int oldAlignment = horizontalAlignment; horizontalAlignment = checkHorizontalKey(alignment, "horizontalAlignment"); firePropertyChange("horizontalAlignment", oldAlignment, horizontalAlignment); } /** * This method returns the vertical text position of the label. * * @return The vertical text position of the label. */ public int getVerticalTextPosition() { return verticalTextPosition; } /** * This method changes the "verticalTextPosition" property of the label. The * vertical text position determines where the text will be placed * vertically relative to the icon. * * @param textPosition The vertical text position. */ public void setVerticalTextPosition(int textPosition) { if (textPosition != verticalTextPosition) { int oldPos = verticalTextPosition; verticalTextPosition = checkVerticalKey(textPosition, "verticalTextPosition"); firePropertyChange("verticalTextPosition", oldPos, verticalTextPosition); } } /** * This method returns the horizontal text position of the label. * * @return The horizontal text position. */ public int getHorizontalTextPosition() { return horizontalTextPosition; } /** * This method changes the "horizontalTextPosition" property of the label. * The horizontal text position determines where the text will be placed * horizontally relative to the icon. * * @param textPosition The horizontal text position. */ public void setHorizontalTextPosition(int textPosition) { if (textPosition != horizontalTextPosition) { int oldPos = horizontalTextPosition; horizontalTextPosition = checkHorizontalKey(textPosition, "horizontalTextPosition"); firePropertyChange("horizontalTextPosition", oldPos, horizontalTextPosition); } } /** * This method simply returns false if the current icon image (current icon * will depend on whether the label is enabled) is not equal to the passed * in image. * * @param img The image to check. * @param infoflags The bitwise inclusive OR of ABORT, ALLBITS, ERROR, * FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, and WIDTH * @param x The x position * @param y The y position * @param w The width * @param h The height * * @return Whether the current icon image is equal to the image given. */ public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h) { Icon currIcon = isEnabled() ? icon : disabledIcon; // XXX: Is this the correct way to check for image equality? if (currIcon != null && currIcon instanceof ImageIcon) return (((ImageIcon) currIcon).getImage() == img); return false; } /** * This method returns the component that the label gives focus to when the * mnemonic is activated. * * @return The component that gets focus when the label's mnemonic is * activated. */ public Component getLabelFor() { return labelFor; } /** * This method changes the "labelFor" property. The component that the label * is acting as a label for will request focus when the label's mnemonic * is activated. * * @param c The component that gets focus when the label's mnemonic is * activated. */ public void setLabelFor(Component c) { if (c != labelFor) { Component oldLabelFor = labelFor; labelFor = c; firePropertyChange("labelFor", oldLabelFor, labelFor); } } /** * This method overrides setFont so that we can call for a repaint after the * font is changed. * * @param f The font for this label. */ public void setFont(Font f) { super.setFont(f); repaint(); } /** * DOCUMENT ME! * * @return The accessible context. */ public AccessibleContext getAccessibleContext() { if (accessibleContext == null) accessibleContext = new AccessibleJLabel(); return accessibleContext; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -