📄 defaultlabel3d.java
字号:
package org.j3de.ui.impl;
import java.util.Enumeration;
import javax.swing.event.ChangeListener;
import javax.media.j3d.Node;
import org.j3de.datamodel.RemoteObjectModel;
import org.j3de.ui.UIElement;
import org.j3de.ui.UIElementMapper;
import org.j3de.ui.Label3D;
import org.j3de.ui.Skin;
import org.j3de.ui.SkinException;
import org.j3de.ui.constraint.ConstraintHelper;
import org.j3de.ui.constraint.ConstraintListener;
import org.j3de.ui.constraint.ConstraintParam;
import org.j3de.ui.constraint.HasConstraints;
import org.j3de.ui.constraint.TwoElementConstraintParam;
import org.j3de.ui.skin.SkinFontLabel3D;
import org.j3de.ui.skin.SkinAppearanceLabel3D;
import org.j3de.ui.skin.SkinConstraintLabel;
public class DefaultLabel3D extends AbstractUIText implements HasConstraints {
private RemoteLabel3D label3D;
private ConstraintHelper constraintHelper;
private UIElementMapper elementMapper;
public DefaultLabel3D(UIElementMapper elementMapper) {
this.elementMapper = elementMapper;
label3D = new RemoteLabel3D();
constraintHelper = new ConstraintHelper();
}
public Node getNode() {
return super.getNode();
}
public UIElement getRemoteElement() {
return label3D;
}
protected Class getTextAppearanceClass() {
return SkinAppearanceLabel3D.class;
}
protected Class getTextFontClass() {
return SkinFontLabel3D.class;
}
public void setSkin(Skin skin) throws SkinException {
super.setSkin(skin);
constraintHelper.setSkin(skin);
updateBounds();
}
/*
Methods from interface HasConstraints.
They are all handled by the ConstraintHelper.
*/
public Enumeration getConstraints() {
return constraintHelper.getConstraints();
}
public void addConstraintListener(ConstraintListener listener) {
constraintHelper.addConstraintListener(listener);
}
public void removeConstraintListener(ConstraintListener listener) {
constraintHelper.removeConstraintListener(listener);
}
protected class RemoteLabel3D extends RemoteUIText implements Label3D {
public void setText(String text) {
DefaultLabel3D.this.setRemoteObjectModel(new StringModel(text));
updateBounds();
}
public void setModel(RemoteObjectModel model) {
DefaultLabel3D.this.setRemoteObjectModel(model);
}
public void setLabeledElement(UIElement element) {
// this call might be a remote call, so we have to get a reference to the local element;
element = elementMapper.getLocal(element).getRemoteElement();
ConstraintParam param = new TwoElementConstraintParam(this, element);
constraintHelper.addConstraint(SkinConstraintLabel.class, param);
}
}
private class StringModel implements RemoteObjectModel {
private String text;
public StringModel(String text) {
this.text = text;
}
public Object getObject() {
return text;
}
public void addChangeListener(ChangeListener changelistener) {
}
public void removeChangeListener(ChangeListener changelistener) {
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -