Path: blob/master/src/java.desktop/macosx/classes/sun/lwawt/LWLabelPeer.java
41153 views
/*1* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/242526package sun.lwawt;2728import java.awt.Label;29import java.awt.peer.LabelPeer;3031import javax.swing.JLabel;32import javax.swing.SwingConstants;3334/**35* Lightweight implementation of {@link LabelPeer}. Delegates most of the work36* to the {@link JLabel}.37*/38final class LWLabelPeer extends LWComponentPeer<Label, JLabel>39implements LabelPeer {4041LWLabelPeer(final Label target, final PlatformComponent platformComponent) {42super(target, platformComponent);43}4445@Override46JLabel createDelegate() {47return new JLabel();48}4950@Override51void initializeImpl() {52super.initializeImpl();53setText(getTarget().getText());54setAlignment(getTarget().getAlignment());55}5657@Override58public void setText(final String label) {59synchronized (getDelegateLock()) {60getDelegate().setText(label);61}62}6364@Override65public void setAlignment(final int alignment) {66synchronized (getDelegateLock()) {67getDelegate().setHorizontalAlignment(convertAlignment(alignment));68}69}7071/**72* Converts {@code Label} alignment constant to the {@code JLabel} constant.73* If wrong Label alignment provided returns default alignment.74*75* @param alignment {@code Label} constant.76*77* @return {@code JLabel} constant.78*/79private static int convertAlignment(final int alignment) {80switch (alignment) {81case Label.CENTER:82return SwingConstants.CENTER;83case Label.RIGHT:84return SwingConstants.RIGHT;85default:86return SwingConstants.LEFT;87}88}89}909192