3D-Grafik Java 3D Renderer

AlphaBanane

Mitglied
Hallo leute!

Habe ein Problem mit dem Laden von 3D Objekten!
Im Moment habe ich einen Renderer der NUR .obj Dateien(Wavefront) rendert und mein Ziel ist es auch andere Grafiken zu veranschaulichen. Die Grafiken von denen ich rede sind frei beweglich und können mit der Maus bis ins genauste betrachtet werden! Hier der Code den ich auswechseln sollte aber die Frage ist mit was? Bitte helft mir ..

Java:
        new Thread()
        {
            @Override
            public void run()
            {
                try
                {
                    int flags    = ObjectFile.RESIZE | ObjectFile.TRIANGULATE | ObjectFile.STRIPIFY;
                    ObjectFile f = new ObjectFile(flags); //, (float) (creaseAngle * Math.PI / 180.0));

                    BranchGroup bg = f.load(object.getAbsolutePath()).getSceneGroup();

                    bg.setCapability(BranchGroup.ALLOW_DETACH); // allows removing this group
                    objectBranchGroup.addChild(bg);
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
                finally
                {
                    loadingScreen.setVisible(false);
                }
            }            
        }.start();
        
        loadingScreen.setVisible(true);
    }
 

Marco13

Top Contributor
Du muss die Zeilen
Java:
int flags    = ObjectFile.RESIZE | ObjectFile.TRIANGULATE | ObjectFile.STRIPIFY;
ObjectFile f = new ObjectFile(flags); //, (float) (creaseAngle * Math.PI / 180.0));
BranchGroup bg = f.load(object.getAbsolutePath()).getSceneGroup();
ersetzen durch eine Zeile
Java:
BranchGroup bg = loadSomethingElseThanAnOBJ();
 

Marco13

Top Contributor
Ach ja, noch eine Kleinigkeit: Die Methode [c]loadSomethingElseThanAnOBJ[/c] musst du noch selbst implementieren. Aber vermutlich weißt du ja, wie das geht.
 

AlphaBanane

Mitglied
Hallo nochmal! Habe noch eine kurze Frage..
Es gibt ja einen Befehl "ObjectFile loader = new ObjectFile(ObjectFile.RESIZE);"...
Dieser Befehl sagt mir das ich eine .obj Datei laden kann.
Gibts sowas auch für andere 3D basierte Formate zum Beispiel: 3DS, COB, WRL...
 

Marco13

Top Contributor
Die leicht sarkastische Schreibweise mit dem "Ach ja, noch eine Kleinigkeit :autsch: ( <- Columbo :D )" bezog sich darauf, dass es für OBJ eben zufällig (weil es so einfach und so weit verbreitet ist) einen Loader gibt, aber für andere Formate eben nicht - und nicht zuletzt auch darauf, dass du nicht gesagt hast, um welches Format es geht. Es gibt hunderte oder sogar tausende von "Dateiformaten für 3D-Daten", oft sehr speziell, und manchmal sehr komplex (mit Animationen oder komplexen Materialien, Bezierflächen etc...). Für VRML gibt es in Java3D glaub' ich auch schon einen, aber ... für "irgendein" anderes Format kommt bei der Implementierung dieser lapidar hingeschriebenen "loadSomethingElseThanAnOBJ" eben u.U. viel Arbeit auf dich zu... Also... um welches Format geht es?
 

AlphaBanane

Mitglied
Ich hab mich da mal umgeschaut aber das richtige finde ich immer noch nicht ganz..
Ich find einige sehr interessante Files zum Encoden einer .3ds Datei aber irgendwie will mein Programm nicht..
 

Marco13

Top Contributor
JOGL und Java3D sind schon verschiedene Welten. Aber vermutlich könnte man mit relativ* wenig Aufwand einen vorhandenen Loader für JOGL auch nach Java3D portieren.

* "relativ", weil das eigentlich aufwändige eben in der Analyse der Eingabedatei und dem Parsing besteht. Wo die reinen Geometriedaten hin gespeichert werden (in einen FloatBuffer oder in eine Geometry) ist im Idealfall nicht sooo wichtig. Aber in einer 3DS-Datei stehen ja wahnsinning viele Informationen, die erstmal keine Repräsentation im Programm haben (weder in Java3D, und schon gar nicht in JOGL). Was macht mal also, wenn man dort irgendeine Keyframe-Animation oder irgendwelche Splinekurven in der Datei findet...? Man muss sich da schon einen Haufen Klassen und Übersetzungen basteln. (Vermutlich wäre es einfacher, die Daten aus 3DS heraus direkt als OBJ zu exportieren... Und wenn du jetzt sagst: "Das reicht aber nicht, ich brauche nämlich auch diese-und-jene Information, die in OBJ nicht enthalten ist": Ja, das dann NICHT geht, ist genau das, was es so schwierig macht, einen Loader dafür zu schreiben ;) )
 

AlphaBanane

Mitglied
:eek:
Wow du kennst dich aus.. ok also heißt das es wäre theoretisch möglich eine einfachere Version des ganzen zu machen indem ich nicht die .3ds Datei lade sondern die Datei in ein .obj File umwandle und dann mit ein paar Fehlern rechnen kann??
Und wie würde bei sowas dann das Grundgerüst asschauen?
 

AlphaBanane

Mitglied
:noe:Hab mich mal erkundigt welche "Converter" gut wären. Hab einen gefunden doch das .obj File lässt sich von keinem meiner Programme öffnen. Also --> schlecht. Aber die Möglichkeit besteht ja auch noch selber einen zu machen. Die Seite auf der der schlechte Converter ist könnt ihr ja mal ausprobieren:
3D Object Converter:noe:
 

AlphaBanane

Mitglied
Aktuell hab ich jetzt einen funktionierenden "externen" Converter der mühelos bedient werden kann.
Einfach starten, das .3ds File Importieren und dann Export, als .obj und irgendeinen Namen geben. Fertig.
Die Seite dazu:Wings 3D
ABER:
Ich hätte den Converter gern im Java-Code drin so eine Art: if Filename=Name.3ds und dann kommt der Converter ins Spiel und wandelt die Datei einfach in eine .obj Datei um.
Hat jemand eine Idee wie ich das realisieren könnte??
 

Marco13

Top Contributor
Das ist ja das aufwändige. Wenn ich den Witz noch etwas weiter auslutschen wollte, würde ich jetzt sagen, dass du nur
Java:
private static BranchGroup  loadSomethingElseThanAnOBJ(...)
{
    ObjectFile f = createFromSomethingElseThanOBJ(...);
    return f.load(object.getAbsolutePath()).getSceneGroup();
}
schreiben und in der Methode "createFromSomethingElseThanOBJ" deinen Konverter aufrufen musst ;)

Aber im Ernst: Ich bin erstmal davon ausgegangen, dass du die 3DS'e selbst erstellst, und sie demnach selbst direkt aus 3D-Studio heraus als OBJ Exportieren könntest. Falls du das nicht kannst, ist das was anderes. Dann wäre ich davon ausgegangen, dass du diese 3DS'e hast, und sie notfalls per Hand einmal vorher in OBJ konvertieren kannst (da hätte ich spontan MeshLab empfohlen). Falls du das nicht kannst, ist das WIEDER was anderes ;)
Dann stellt sich die Frage, ob dieser Konverter irgendeine Command-Line-Funktionalität anbietet. Also, ob man an der Kommandozeile sowas aufrufen kann wie
converter -convert input.3ds output.obj
(Ob MeshLab so eine Funktion anbietet, weiß ich gerade nicht - eine schnelle Websuche liefert nicht viel, aber ein paar indizien, dass es sowas geben könnte)

FALLS es also so einen Konverter gibt, der die Konvertierung per Command Line durchführen kann, dann könnte man den notfalls mit Runtime (Java Platform SE 6) in einem eigenen Prozess starten. Aber ... sowas ist IMHO immer unschön. Sowas brauchen doch sicher viele...? Eine Websuche wie https://www.google.de/search?q=java+"3ds"+library liefert doch einiges, ist da nichts passendes dabei?
 

AlphaBanane

Mitglied
:rtfm:Beim untersten Link sind schon ein paar Seiten dabei die interessant sind aber wirklich helfen tun sie mir auch nicht. Die Meshlab Seite war gut das hab ich auch gleich heruntergeladen und ausprobiert. Doch ein Fehler schleicht sich immer ein. Ich habe jetzt den Java Code so gewählt:
Java:
    public void loadObject(final File object)
    {
        loadingScreen.setLocation(MainFrame.frame.getX() + ((MainFrame.frame.getWidth()  - loadingScreen.getWidth())  / 2),
                                  MainFrame.frame.getY() + ((MainFrame.frame.getHeight() - loadingScreen.getHeight()) / 2));

        new Thread()
        {
            @Override
            public void run()
            {
                try
                {

                    ObjectFile loader = new ObjectFile(ObjectFile.RESIZE);
                    BranchGroup bg = loader.load(object.getAbsolutePath()).getSceneGroup();

                    bg.setCapability(BranchGroup.ALLOW_DETACH); // allows removing this group
                    objectBranchGroup.addChild(bg);
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
                finally
                {
                    loadingScreen.setVisible(false);
                }
            }            
        }.start();
        
        loadingScreen.setVisible(true);
    }
Also theoretisch nur für .obj Files.

Und doch hab ich wenn ich convertierte .obj Files einlesen will keine Resultate.(Bei den Convertierten mein ich die, die ich durch Import-Export von .3ds Files bekommen hab)
Zwischen den einzelnen .obj Dateien sehe ich aber keinen Unterschied. Wiso funktioniert das den nicht?
 

Marco13

Top Contributor
Hm. Wenn du alles so hochlädst, dass man es schnell testen kann, würde ich das ggf. mal tun - also
- Das Programm (compilier- und startbar)
- Die OBJs
- Das 3DS
Aber ich kann natürlich nichts versprechen.

Die OBJs sind ja eigentlich nur "Text", die sollte man doch recht leicht vergleichen können. Vielleicht stimmt nur irgendeine Skalierung oder irgendwelche Materialeigenschaften nicht..?
 

AlphaBanane

Mitglied
Haha :) Danke! Habe das .obj File mal mit Notepad++ geöffnet und oben die Bezeichnung etwas geändert und jetzt gehts :) Das heißt ich kann jetzt schon mal .3ds Dateien Importieren-Exportieren und anschließend als .obj anschauen. Das in einen Code zu packen ist aber wahrscheinlich etwas zu viel erwartet oder??
 

AlphaBanane

Mitglied
Und nochwas. Bei bestimmten Import,Export-Editoren(ich verwende Meshlab), erzeugt er beim Export nicht nur ganz oben sondern auch ganz unten einen kleinen Unterschied. Dieser Unterschied sorgt dafür das sich der Debugger aufhängt und kein Bild anzeigt.So Sieht das Ende des .obj Files aus:
Code:
# 96582 faces, 1 coords texture

# End of File
Um den Fehler zu beheben einfach nur den im Codefenster angezeigten Text löschen und fertig.:D

Kann mir trotzdem noch jemand einen Tipp geben wie und ob ich das mit dem Code hinkrieg?????:L
 

AlphaBanane

Mitglied
Marco weißt du was eine .qobj Datei ist?? Google spuckt nichts aus. Ich vermute es ist so eine Art spezielle .obj Datei. Im Meshlab steht es sei ein Quad Objekt..
 

Marco13

Top Contributor
Mit "mit dem Code" meinst du, dass man diese Konvertierung von Java aus aufruft?

Kann man das Programm über die Kommandozeile starten (und sagen, welche Dateien es konvertieren soll?)
 

AlphaBanane

Mitglied
Ja genau.
Nein. Ich kann die Konvertierung nur mit Meshlab angehen.(Bis jetzt)
Ich suche eine Lösung diesen Konverter mit Java zu realisieren. Bis jetzt kann ich dabei .3ds, .dae, .wrl, .stl, .ctm, .pdb, .x3d in .obj Files umwandeln ohne irgendwelche Probleme. Mein Ziel ist es genau das mit Java in meinem Programm zu machen. d.h wenn ich ein File öffne, soll es mir die Datei zu einem .obj konvertieren und anschließend anzeigen! Das ist mein Ziel :D
 

AlphaBanane

Mitglied
Das große Problem bei der Sache ist nur dass zB. .3ds binär ist und ich nicht weiß ob ich den Code genau so umwandeln kann um dann auch den richtigen Text zu bekommen...
 

Marco13

Top Contributor
Code? Text? Mir ist nicht ganz klar was du meinst. Wenn du ein Programm hast, mit dem du an der Kommandozeile sowas machen kannst wie
dasProgramm -someFlag input.3ds output.obj
und damit die Datei konvertiert wird (ohne dass ein GUI aufgeht und so), dann könnte man das evtl. als eigenen Process ausführen. Ansonsten Hilft nur java.awt.Robot :joke:
 

AlphaBanane

Mitglied
Wenn ich mit Notepad++ ein .obj File öffne dann seh ich ganz viele Zahlen. Wenn ich aber ein .3ds File öffne sehe ich wirres Zeug das ich nicht entziffern kann-> Binärcode.
Mir ist also nicht ganz klar wie ich von einem Binärcode zu den Zahlen kommen soll und ob das wenn ich es übersetzte auch das gleiche bedeutet... Und wegen der CommandoZeile bin ich mir nicht sicher.
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * View3D.java
 *
 * Created on 30.11.2011, 17:42:04
 */
package at.alphagate.ui.pages;

import at.alphagate.mod.MainFrame;
import com.sun.j3d.loaders.objectfile.ObjectFile;
import com.sun.j3d.utils.behaviors.keyboard.KeyNavigatorBehavior;
import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;
import com.sun.j3d.utils.behaviors.mouse.MouseZoom;
import com.sun.j3d.utils.universe.SimpleUniverse;
import java.awt.Color;
import java.awt.Dialog.ModalityType;
import java.awt.event.KeyEvent;
import java.io.File;
import java.util.Enumeration;
import javax.media.j3d.*;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.vecmath.Color3f;
import javax.vecmath.Point3d;
import javax.vecmath.Vector3f;

/**
 *
 * @author AlphaBanane
 */
public class View3D extends javax.swing.JPanel
{
    private final JDialog  loadingScreen = new JDialog();
    
    private BranchGroup    rootBranchGroup;
    private TransformGroup rootTransformGroup;
    private BoundingSphere boundingSphere;
    private BranchGroup    objectBranchGroup;

    /** Creates new form View3D */
    public View3D()
    {
        initComponents();
        init3D();

        loadingScreen.setTitle("Loading...");
        loadingScreen.add(new JLabel(new ImageIcon(getClass().getResource("/at/alphagate/res/images/icons/loading.gif"))));
        loadingScreen.setSize(200, 150);
        loadingScreen.setUndecorated(true);
        loadingScreen.setModalityType(ModalityType.APPLICATION_MODAL);
    }

    private void init3D()
    {
        Canvas3D canvas = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
        canvas.setSize(getPreferredSize());
        canvas.setDoubleBufferEnable(true);

        SimpleUniverse simpleUniverse = new SimpleUniverse(canvas);
        simpleUniverse.getViewingPlatform().setNominalViewingTransform();

        rootBranchGroup    = new BranchGroup();
        rootTransformGroup = new TransformGroup();
        objectBranchGroup  = new BranchGroup();
        boundingSphere     = new BoundingSphere(new Point3d(), 200);

        // Create a Transformgroup to scale all objects so they
        // appear in the scene.
//        Transform3D t3d = new Transform3D();
//        t3d.setScale(0.5);
//        rootTransformGroup.setTransform(t3d);

        // Enable the TRANSFORM_WRITE capability so that
        // our behavior code can modify it at runtime. Add it to the
        // root of the subgraph.
        rootTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
        objectBranchGroup.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
        objectBranchGroup.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);

        createSceneGraph();
        createBehaviors();

        rootTransformGroup.addChild(objectBranchGroup);
        rootBranchGroup.addChild(rootTransformGroup);
        rootBranchGroup.compile();
        simpleUniverse.addBranchGraph(rootBranchGroup);

        add(canvas);
    }

    public void loadObject(final File object)
    {
        loadingScreen.setLocation(MainFrame.frame.getX() + ((MainFrame.frame.getWidth()  - loadingScreen.getWidth())  / 2),
                                  MainFrame.frame.getY() + ((MainFrame.frame.getHeight() - loadingScreen.getHeight()) / 2));

        new Thread()
        {
            @Override
            public void run()
            {
                try
                {
                    
                    ObjectFile loader = new ObjectFile(ObjectFile.RESIZE);
                    BranchGroup bg = loader.load(object.getAbsolutePath()).getSceneGroup();

                    bg.setCapability(BranchGroup.ALLOW_DETACH); // allows removing this group
                    objectBranchGroup.addChild(bg);
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
                finally
                {
                    loadingScreen.setVisible(false);
                }
            }            
        }.start();
        
        loadingScreen.setVisible(true);
    }

    public void clear()
    {
        objectBranchGroup.removeAllChildren();
    }

    /**
     * 
     * @return 
     */
    private void createSceneGraph()
    {
        // Let there be light
        Color3f lightColor = new Color3f(new Color(150, 150, 150));

        DirectionalLight light1 = new DirectionalLight(lightColor, new Vector3f( 1,  1,  1));
        DirectionalLight light2 = new DirectionalLight(lightColor, new Vector3f(-1, -1, -1));
        DirectionalLight light3 = new DirectionalLight(lightColor, new Vector3f(-1,  1,  1));
        DirectionalLight light4 = new DirectionalLight(lightColor, new Vector3f( 1, -1, -1));

        light1.setInfluencingBounds(boundingSphere);
        light2.setInfluencingBounds(boundingSphere);
        light3.setInfluencingBounds(boundingSphere);
        light4.setInfluencingBounds(boundingSphere);

        rootBranchGroup.addChild(light1);
        rootBranchGroup.addChild(light2);
        rootBranchGroup.addChild(light3);
        rootBranchGroup.addChild(light4);
    }

    private void createBehaviors()
    {
        MouseRotate mouseRotate = new MouseRotate();
        mouseRotate.setTransformGroup(rootTransformGroup);
        mouseRotate.setSchedulingBounds(boundingSphere);
        rootBranchGroup.addChild(mouseRotate);

        MouseTranslate mouseTranslate = new MouseTranslate();
        mouseTranslate.setTransformGroup(rootTransformGroup);
        mouseTranslate.setSchedulingBounds(boundingSphere);
        rootBranchGroup.addChild(mouseTranslate);

        MouseZoom mouseZoom = new MouseZoom();
        mouseZoom.setTransformGroup(rootTransformGroup);
        mouseZoom.setSchedulingBounds(boundingSphere);
        rootBranchGroup.addChild(mouseZoom);

        KeyNavigatorBehavior keyNavigatorBehavior = new KeyNavigatorBehavior(rootTransformGroup);
        keyNavigatorBehavior.setSchedulingBounds(boundingSphere);
        rootBranchGroup.addChild(keyNavigatorBehavior);

        Behavior resetBehavior = new Behavior()
        {
            private final WakeupCriterion criterion = new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED);
            private Transform3D originT3D = new Transform3D();

            @Override
            public void initialize()
            {
                rootTransformGroup.getTransform(originT3D);
                wakeupOn(criterion);
            }

            @Override
            public void processStimulus(Enumeration criteria)
            {
                WakeupOnAWTEvent event = (WakeupOnAWTEvent) criteria.nextElement();
                KeyEvent         key   = (KeyEvent) event.getAWTEvent()[0];

                if (key.getKeyCode() == KeyEvent.VK_SPACE)
                {
                    rootTransformGroup.setTransform(originT3D);
                }

                wakeupOn(criterion);
            }
        };
        resetBehavior.setSchedulingBounds(boundingSphere);
        rootBranchGroup.addChild(resetBehavior);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 690, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 423, Short.MAX_VALUE)
        );
    }// </editor-fold>//GEN-END:initComponents
    // Variables declaration - do not modify//GEN-BEGIN:variables
    // End of variables declaration//GEN-END:variables
}

Das ist mein Code und ob ich da in der CommandLine etwas ändern kann weiß ich nicht genau.
Übrigens was ist Java.awt.Robot?? ???:L
 

Marco13

Top Contributor
Geht es immernoch um die Frage, wie man von einem Java-Programm aus eine 3DS-Datei in eine OBJ-Datei konvertieren kann? (Eigentlich darum, ob man sie direkt laden kann, aber wenn von den verfügbaren Libs zum 3DS-Lesen keine deinen Ansprüchen genügt, dann eben über den Aufruf eines externen Konvertierungsprogramms?)
Lies' dir ggf. deine Beiträge nochmal durch, und versuch' dir vorzustellen, ob du, wenn du das in der Mittagspause lesen würdest, wüßtest, was der Fragesteller eigentlich will ...
 

AlphaBanane

Mitglied
Entschuldige die Störung bei der Mittagspause. Ich weiß es selber nicht genau. Dein Vorschlag mit dem externen Konvertierungsprogramm das theoretisch im Hintergrund läuft gefällt mir gut. Sowas in der Art hab ich mir auch vorgestellt. Ich will nur nicht immer die Daten Importieren,Exportieren, im ".obj" File die letzen beiden Zeilen rauslöschen und dann erst öffnen. Verstehst du jetzt was ich meine?
Und JA es geht noch um die Frage: "Wie bekomm ich das alles in meinen Code...?";)
 

Marco13

Top Contributor
Es geht nicht um eine "Störung", sondern wie lange man mit viel Phantasie und dem Einfühlungsvermögen eines Sozialpädagogen nachfragen muss, was denn gemeint sein könnte. Woran hängt es jetzt? Am Einbinden des externen Programms? Funktioniert das über die Command line? Oder geht es nur um die zwei Zeilen? Notfalls kann man die OBJ auch Zeilenweise lesen und alle #-Zeilen rauslöschen, aber das sollte nicht notwendig sein: Ich kann mir kaum vorstellen, dass der OBJ-Loader #Kommentarzeilen NICHT ignoriert...
 

AlphaBanane

Mitglied
Ja am Einbinden des externen Programms. Ich versuche grad es über die CommandLine zu machen.. Die zwei Zeilen sind nicht so wichtig sie müssen nur vor dem Erzeugen rausgelöscht werden. Und das mit den #-Zeilen hab ich gemacht. Sonst ist mein Programm nicht gelaufen. Ich versuche grad den C# Code von Meshlab rauszulesen mitdem er Importiert bzw. Exportiert.
 

Marco13

Top Contributor
Hm... die Binären 3DS-Daten zu lesen kann aufwändig sein - SEHR aufwändig, weil das Format sher viel enthält, und dann nochmal mehr oder weniger in Abhängigkeit davon, ob es irgendwo eine "einfache" Spezifikation gibt.
Du meintest, dass die existierenden Bibliotheken zum 3DS-Lesen dir nicht helfen - hast du mal ein paar davon ausprobiert?
 

AlphaBanane

Mitglied
Ok. Ich bekomms nicht hin. Aber das liegt nicht daran das die Datei nicht stimmt(glaub ich) sondern dass entweder mein Programm zu blöd ist meinen Anweisungen zu folgen oder ich zu blöd bin ihm richtige Anweisungen zu geben... :(
 

Marco13

Top Contributor
"Er zeigt mir nichts an" ist auch keine Fehlerbeschreibung. (Mir wird das langsam zu zäh, entweder du postest Fragen, mit denen man was anfangen kann, oder ... vielleicht hat ja jemand anderes eine Idee...)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Event Handling WindowBuilder + Java Renderer Allgemeine Java-Themen 3
theJavaMaschine Mitstreiter gesucht: Gemeinsam Java und Android Development lernen! Allgemeine Java-Themen 5
PARAS Karriereberatung benötigt: Wie kann ich ein Java Full Stack Entwickler werden? Allgemeine Java-Themen 7
P Java Access Bridge Allgemeine Java-Themen 5
W ICEpdf PDF-Dateien werden mit Java 21 nicht nicht mehr vollständig dargestellt Allgemeine Java-Themen 3
MiMa Grundsätzliche Frage zur Verwendung von Java Versionen?? Allgemeine Java-Themen 3
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
lalex1491 Java Aktienkurse nachfragen Allgemeine Java-Themen 4
J Class to link Java Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
mrStudent Inferenz JAVA Allgemeine Java-Themen 6
U URI Rechner (Java Script) Allgemeine Java-Themen 7
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
mihe7 Java 19 JavaDocs: Browserintegration Allgemeine Java-Themen 1
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
C Fußnoten von DocX mit Java Allgemeine Java-Themen 2
C Fußnoten in DocX mit Java Allgemeine Java-Themen 1
M Aussagenlogik in Java Programmieren Allgemeine Java-Themen 22
B Per Java Word Dokument schreiben? Allgemeine Java-Themen 8
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
KonradN Oracle übergibt (Java Teile der) GraalVM Community Edition an OpenJDK Community Allgemeine Java-Themen 2
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11
K Nachhilfe Java Allgemeine Java-Themen 11
KonradN Java 19 Allgemeine Java-Themen 11
F IDEA IntelliJ Java Songliste erstellen Allgemeine Java-Themen 6
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
Sachinbhatt Sind alle Methoden in Java implizit virtuell Allgemeine Java-Themen 2
E Java und integrierte Grafikkarten Allgemeine Java-Themen 18
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
A Java unter Win 10 Allgemeine Java-Themen 1
B Woher kommen die Bildschirmkoordinaten beim java Robot? Allgemeine Java-Themen 14
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
T Java Robot Class - Bot Allgemeine Java-Themen 3
E Wie Java Heap Space vergrößern? Allgemeine Java-Themen 3
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
izoards Java Home Pfad unabhängig von der Version Allgemeine Java-Themen 7
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
KonradN CVE-2022-21449: Fehler in Java bei Signaturprüfung Allgemeine Java-Themen 20
berserkerdq2 Java sql Allgemeine Java-Themen 15
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
LimDul XSD To Java - Überschreiben von Assoziationen Allgemeine Java-Themen 1
Aartiyadav Comparisons and Swapa in Bubble-sort Java Allgemeine Java-Themen 6
KonradN Java 18 Allgemeine Java-Themen 8
N Statistische Auswertung von Logfiles (Einlesen, auswerten und grafische Aufbereitung von logfiles) mit Java Allgemeine Java-Themen 9
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
Z Mit Java 8+ Streams Zeilen nummern zu Zeilen hinzufügen Allgemeine Java-Themen 17
M Verständnisfrage java.util.TimerTask Allgemeine Java-Themen 2
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4
O Newton Algorithmus Java Allgemeine Java-Themen 1
P Java Quellen finden Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben