tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
1128
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Apr 2011
    Beiträge
    6
    Hallo,

    ich arbeite im Moment an meiner Bachelorarbeit "3D-Darstellung der Beladung eines LKW (editierbar per Drag&Drop)".
    Dazu arbeite ich mich gerade in Java3D ein. Da die Firma, in der ich meine Arbeit schreibe, allerdings nicht auf Swing als GUI setzt (das habe ich bisher immer gemacht), sondern auf SWT habe ich Probleme selbst ein "HelloWorld"-Programm laufen zu lassen.

    Gibt es in SWT eine Methode alla "add", wie sie in der Klasse JFrame in Swing gibt. Beim bisherigen Code wurden die Widgets immer gleich bei deren Initialisierung auf das Layout geklebt. Das ist zum einen bei einem Canvas3D glaub ich schwieriger und zum anderen muss so etwas doch auch nachträglich gehen.

    Vielen Dank!
     

  2. #2
    InteractiveMesh InteractiveMesh ist offline Grünschnabel
    Registriert seit
    Apr 2011
    Beiträge
    1
    Hallo,

    Infos zum Thema SWT: The Standard Widget Toolkit findet man hier http://www.eclipse.org/swt/

    Um ein (schwergewichtiges, AWT) Canvas3D Objekt von Java 3D einzubetten, nutzt man org.eclipse.swt.awt.SWT_AWT. Ich benutze folgenden Composite-Wrapper für Canvas3D:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    import java.awt.BorderLayout;
    import java.awt.Frame;
     
    import javax.media.j3d.Canvas3D;
     
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.awt.SWT_AWT;
     
    import org.eclipse.swt.layout.FillLayout;
    import org.eclipse.swt.layout.GridData;
    import org.eclipse.swt.widgets.Composite;
     
    // Inner class
    private class Canvas3DComposite extends Composite {
        
      Canvas3DComposite(Composite parent, Canvas3D canvas3d) {
        super(parent, SWT.EMBEDDED);
            
        this.setLayout(new FillLayout());
        this.setLayoutData(new GridData(GridData.FILL_BOTH)); // TODO
            
        Frame frame = SWT_AWT.new_Frame(this);    
        frame.add(canvas3d, BorderLayout.CENTER); 
     
      }
    }
     

Ähnliche Themen

  1. [Java3d] Model Loader einbinden
    Von Trekky im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 20.09.08, 15:19
  2. Ausgabe HelloWorld
    Von Java_Neuling im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 06.02.08, 09:16
  3. Suche HelloWorld Beispiel AXIS2 DualTransport NON-Blocking-Client
    Von navino im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 29.01.08, 14:34
  4. JSP + Eclipse + Linux - wie kann ich helloworld.jsp starten ?
    Von NetPerformance im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 30.11.05, 19:49
  5. HelloWorld Problem
    Von NoGi im Forum Java
    Antworten: 1
    Letzter Beitrag: 16.11.03, 13:22