[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00200] Re: Java3D と Swingについて
◆『世界各国経済情報ファイル』「The World 98 CD-ROM」◆=========
★ 世界各国の経済・地理・社会の様々なデータを収録!
★ コピー&ペースト、ダウンロード機能でとっても便利!!
<<節分特別セール 定価 6,800円 → 4,800円(税、送料込み)>>
お問い合わせ先:日本データベース開発(株) kanzaki@xxxxxxxxxx
============== http://www.ndk.co.jp/06SUBM/saisin.html ==============
>トップレベルに直接 add() するといかがでしょう。
># 時間あったらやってみましょうか。
結果はダメでした。
import java.awt.*;
import java.util.*;
import javax.swing.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.behaviors.mouse.*;
class Test2 {
public static void main( String[] args ) {
JFrame frame = new JFrame( "Java3D Test2" );
JDesktopPane desktop = new JDesktopPane();
frame.getContentPane().add( desktop , BorderLayout.CENTER );
frame.setSize( 500 , 500 );
frame.setLocation( 100 , 100 );
frame.setVisible( true );
JIFrame f1 = new JIFrame( "Frame1" );
f1.setBounds( 20 , 20 , 300 , 300 );
desktop.add( f1 );
f1.setVisible( true );
JIFrame f2 = new JIFrame( "Frame2" );
f2.setBounds( 100 , 100 , 300 , 300 );
desktop.add( f2 );
f2.setVisible( true );
}
}
class JIFrame extends JInternalFrame {
public JIFrame( String title ) {
super( title );
//JPanel panel = getJ3DPanel();
setClosable( true );
setMaximizable( true );
setIconifiable( true );
setResizable( true );
//getContentPane().add( panel , BorderLayout.CENTER );
getContentPane().add(new J3DApplet(), BorderLayout.CENTER );
}
//JPanel getJ3DPanel() {
class J3DApplet extends java.applet.Applet {
public J3DApplet() {
//JPanel panel = new JPanel();
setLayout(new BorderLayout());
GraphicsConfiguration config =
SimpleUniverse.getPreferredConfiguration();
//Canvas3D canvas = new Canvas3D( null );
Canvas3D canvas = new Canvas3D(config);
add( "Center" , canvas );
BranchGroup root = createSceneGraph();
SimpleUniverse universe = new SimpleUniverse( canvas );
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph( root );
//return panel;
}
}
BranchGroup createSceneGraph() {
BranchGroup objGroup = new BranchGroup();
TransformGroup objTrans = new TransformGroup();
Transform3D translation = new Transform3D();
objTrans.setTransform( translation );
Shape3D shape = new ColorCube( 0.5 );
objTrans.addChild( shape );
objTrans.setCapability( TransformGroup.ALLOW_TRANSFORM_WRITE );
objTrans.setCapability( TransformGroup.ALLOW_TRANSFORM_READ );
objGroup.addChild( objTrans );
setMouseBehavior( objGroup , objTrans );
return objGroup;
}
private void setMouseBehavior( BranchGroup root , TransformGroup trans ) {
MouseBehavior behavior1 = new MouseRotate();
behavior1.setTransformGroup( trans );
root.addChild( behavior1 );
MouseBehavior behavior2 = new MouseTranslate();
behavior2.setTransformGroup( trans );
root.addChild( behavior2 );
MouseBehavior behavior3 = new MouseZoom();
behavior3.setTransformGroup( trans );
root.addChild( behavior3 );
BoundingSphere bounds=new BoundingSphere( new Point3d( 0.0,0.0,0.0 ) , 100.0 );
behavior1.setSchedulingBounds( bounds );
behavior2.setSchedulingBounds( bounds );
behavior3.setSchedulingBounds( bounds );
}
}
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル FAX 03-5362-9008