⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultlabel3d.java

📁 Java 3D Desktop Environment旨在使用Java 3D来创建一个3D桌面环境。功能包括:分布式的应用程序
💻 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 + -