📄 title.java
字号:
*/ public void setHorizontalAlignment(HorizontalAlignment alignment) { if (alignment == null) { throw new IllegalArgumentException("Null 'alignment' argument."); } if (this.horizontalAlignment != alignment) { this.horizontalAlignment = alignment; notifyListeners(new TitleChangeEvent(this)); } } /** * Returns the vertical alignment of the title. * * @return the vertical alignment (never <code>null</code>). */ public VerticalAlignment getVerticalAlignment() { return this.verticalAlignment; } /** * Sets the vertical alignment for the title, and notifies any registered * listeners of the change. * * @param alignment the new vertical alignment (TOP, MIDDLE or BOTTOM, * <code>null</code> not permitted). */ public void setVerticalAlignment(VerticalAlignment alignment) { if (alignment == null) { throw new IllegalArgumentException("Argument 'alignment' cannot be null."); } if (this.verticalAlignment != alignment) { this.verticalAlignment = alignment; notifyListeners(new TitleChangeEvent(this)); } } /** * Returns the spacer which determines the blank space around the edges of the title. * * @return The spacer (never <code>null</code>). */ public Spacer getSpacer() { return this.spacer; } /** * Sets the spacer for the title and sends a {@link TitleChangeEvent} to all registered * listeners. * * @param spacer the new spacer (<code>null</code> not permitted). */ public void setSpacer(Spacer spacer) { if (spacer == null) { throw new NullPointerException("AbstractTitle.setSpacer(): null not permitted."); } if (!this.spacer.equals(spacer)) { this.spacer = spacer; notifyListeners(new TitleChangeEvent(this)); } } /** * Returns the flag that indicates whether or not the notification mechanism is enabled. * * @return the flag. */ public boolean getNotify() { return this.notify; } /** * Sets the flag that indicates whether or not the notification mechanism * is enabled. There are certain situations (such as cloning) where you * want to turn notification off temporarily. * * @param flag the new value of the flag. */ public void setNotify(boolean flag) { this.notify = flag; } /** * Returns the preferred width of the title. When a title is displayed at * the left or right of a chart, the chart will attempt to give the title * enough space for it's preferred width. * * @param g2 the graphics device. * @param height the height. * * @return the preferred width of the title. */ public abstract float getPreferredWidth(Graphics2D g2, float height); /** * Returns the preferred height of the title. When a title is displayed at * the top or bottom of a chart, the chart will attempt to give the title * enough space for it's preferred height. * * @param g2 the graphics device. * @param width the width. * * @return the preferred height of the title. */ public abstract float getPreferredHeight(Graphics2D g2, float width); /** * Draws the title on a Java 2D graphics device (such as the screen or a printer). * * @param g2 the graphics device. * @param area the area allocated for the title. */ public abstract void draw(Graphics2D g2, Rectangle2D area); /** * Returns a clone of the title. * <P> * One situation when this is useful is when editing the title properties - * you can edit a clone, and then it is easier to cancel the changes if * necessary. * * @return a clone of the title. * * @throws CloneNotSupportedException not thrown by this class, but it may be thrown by * subclasses. */ public Object clone() throws CloneNotSupportedException { Title duplicate = (Title) super.clone(); duplicate.listenerList = new EventListenerList(); // Spacer is immutable => same reference in clone OK return duplicate; } /** * Registers an object for notification of changes to the title. * * @param listener the object that is being registered. */ public void addChangeListener(TitleChangeListener listener) { this.listenerList.add(TitleChangeListener.class, listener); } /** * Unregisters an object for notification of changes to the chart title. * * @param listener the object that is being unregistered. */ public void removeChangeListener(TitleChangeListener listener) { this.listenerList.remove(TitleChangeListener.class, listener); } /** * Notifies all registered listeners that the chart title has changed in some way. * * @param event an object that contains information about the change to the title. */ protected void notifyListeners(TitleChangeEvent event) { if (this.notify) { Object[] listeners = this.listenerList.getListenerList(); for (int i = listeners.length - 2; i >= 0; i -= 2) { if (listeners[i] == TitleChangeListener.class) { ((TitleChangeListener) listeners[i + 1]).titleChanged(event); } } } } /** * Tests an object for equality with this title. * * @param obj the object. * * @return <code>true</code> or <code>false</code>. */ public boolean equals(Object obj) { if (obj == null) { return false; } if (obj == this) { return true; } if (obj instanceof Title) { Title t = (Title) obj; if (this.position != t.position) { return false; } if (this.horizontalAlignment != t.horizontalAlignment) { return false; } if (this.verticalAlignment != t.verticalAlignment) { return false; } if (!ObjectUtils.equal(this.spacer, t.spacer)) { return false; } if (this.notify != t.notify) { return false; } return true; } return false; } /** * Returns a hashcode for the title. * * @return the hashcode. */ public int hashCode() { int result = 193; result = 37 * result + ObjectUtils.hashCode(this.position); result = 37 * result + ObjectUtils.hashCode(this.horizontalAlignment); result = 37 * result + ObjectUtils.hashCode(this.verticalAlignment); result = 37 * result + ObjectUtils.hashCode(this.spacer); return result; } /** * Provides serialization support. * * @param stream the output stream. * * @throws IOException if there is an I/O error. */ private void writeObject(ObjectOutputStream stream) throws IOException { stream.defaultWriteObject(); } /** * Provides serialization support. * * @param stream the input stream. * * @throws IOException if there is an I/O error. * @throws ClassNotFoundException if there is a classpath problem. */ private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { stream.defaultReadObject(); this.listenerList = new EventListenerList(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -