testpickbox.java

来自「本项目是用JAVA3D开发的一款图形界面的3D漫游的类似引擎.至所以这么说.是因」· Java 代码 · 共 57 行

JAVA
57
字号
package cn.bz.picking;

import javax.media.j3d.Appearance;
import javax.media.j3d.DirectionalLight;
import javax.media.j3d.ImageComponent2D;
import javax.media.j3d.Shape3D;
import javax.media.j3d.Texture2D;
import javax.media.j3d.TransformGroup;
import javax.swing.JPanel;

import cn.bz.head.frame.TexturePanel;
import cn.bz.util.ImageTextureLoader;

import com.sun.j3d.utils.image.TextureLoader;
import com.sun.j3d.utils.picking.behaviors.PickingCallback;

public class TestPickBox implements PickingCallback {

	private Shape3D shape3D;

	private JPanel jPanel;
	
	public static TexturePanel texturePanel ;

	public TestPickBox(Shape3D shape3D, JPanel jpanel) {
		// TODO Auto-generated constructor stub
		this.shape3D = shape3D;
		this.jPanel = jpanel;
	}

	public void transformChanged(int type, TransformGroup tg) {
		// TODO Auto-generated method stub

		// 修改纹理属性
		ImageTextureLoader myLoader = new ImageTextureLoader("cizhuan.jpg", jPanel);
		ImageComponent2D myImage = myLoader.getImage();
System.out.println(myLoader.getImageName()+"---图片名字");

		String imageName = myLoader.getImageName() ;
		texturePanel.setJLabel(imageName);
		texturePanel.setFocusable(true);
		
		Texture2D myTex = (Texture2D) myLoader.getTexture();
		Appearance appearance = new Appearance();
		appearance.setTexture(myTex);
		shape3D.setAppearance(appearance);
	}
}

/*
 * public class MyCallbackClass extends Object implements PickingCallback{
 * DirectionalLight myLight; boolean state; public
 * MyCallbackClass(DirectionalLight lightD){ this.myLight=lightD; // 保存引用
 * this.state=false; } public void transformChanged(int type, TransformGroup tg) {
 * state=!state; myLight.setEnable(state); //改变该对象当前的状态 } }
 */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?