webcam bild laden

Status
Nicht offen für weitere Antworten.

anti43

Aktives Mitglied
hallo!
dies ist mal wieder in meinem java applet... :roll:
leider wird das bild nur einmal geladen, warum wird es nicht aktualisiert ? es ging mal, aber jetzt irgendwie nicht mehr :-( ich komm einfach nicht dahinter...
das problem wurde hier schonmal behandelt : http://www.java-forum.org/de/viewtopic.php?p=238534&highlight=#238534
,allerdings gehts trotzdem nicht mehr :-(


Code:
    public void initPic(){

        webcamImage = new ImageIcon(webcam);
        ///////////////////////////////////////////
        pictureLabel = new JLabel(webcamImage);
        pictureLabel.setBorder(new EtchedBorder(EtchedBorder.LOWERED));
        
        pictureLabel.setSize(320, 240);
        
        
        
        timer = new Thread(this);
        timer.start();
    }
    
    public void run() {
        
        while (true) // solange true, also immer
        {
            
            camPaint(); // rufe paint auf
            
            int fps = camio.setFPS();
            
            try // und versuche, fps Millisekunden zu warten
            {
                timer.sleep(fps);
            } catch (InterruptedException e) {}
            
            
        }
        
        
    }
    
    public void camPaint() {
        
        
        //Bild laden
        webcam= toolkit.getImage(option);
        mt = new MediaTracker( pictureLabel);
        mt.addImage(webcam, 0);

        try {
            //Warten, bis das Image vollständig geladen ist,
            mt.waitForAll();
        } catch (InterruptedException e) {
            //nothing
        }
        
        SwingUtilities.updateComponentTreeUI(pictureLabel);
        
        
    }
 
kannes vielleicht was mit dem thread vzu tun haben? wie funktioniert dieses SwingUtilities.updateComponentTreeUI() eigentlich? gibt es eine alternative dazu? wie würdet ihr ein webcambild laden? soll ich die frage in einem anderen unterforum stellen? fragen über fragen 🙂
 
gibt es eine alternative zu SwingUtilities.updateComponentTreeUI() ? warum geht das mir repaint () nicht?
 
Weil du mit dem Thread deine Applikation selbst blockierst!

Du musst das ganze in einen eigenen Thread arbeiten lassen, weil du sonst eben den EventDispatchter Thread blockierst und somit wird auch nix gezeichnet!
 
hmm aber genau aus dem grund, dem ganzen einen eigenen thread zu geben hab ich ja schon eine eigene klasse draus gemacht. wie muss ich das denn nu anstellen? danke für die hilfe!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben