IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[Java TWAIN] blocage de l'interface SWING


Sujet :

API standards et tierces Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Par défaut [Java TWAIN] blocage de l'interface SWING
    Bonjour,

    Non il ne s'agit pas là d'un autre topic sur "comment on fait pour scanner avec java" (car ça je sais faire...)
    Le problème est ailleurs:

    J'ai une certaine classe "Gui" qui se charge d'afficher une Interface graphique.
    Lorsque j'appuie sur un certain bouton "Scanner", je crée un objet "Scan" dont voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    public class Scan implements ScannerListener{
    	int     index = 0;
    	String  filename;
    	Scanner scanner;
     
     
    	public Scan(){
    	filename=System.getProperty("user.dir")+"\\";
        scanner=Scanner.getDevice();
    	scanner.addListener(this);
     
        try {
    		scanner.acquire();
    	} catch (ScannerIOException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
     
    	}
     
     
    	@Override
    	public void update(ScannerIOMetadata.Type type, ScannerIOMetadata metadata){
    		// TODO Auto-generated method stub
    		if(type.equals(ScannerIOMetadata.ACQUIRED)){
    		     final BufferedImage image=metadata.getImage();
    		      System.out.println("Have an image now!");
    		      try{
    		        ImageIO.write(image, "jpg", new File(filename+"scan.jpg"));
    		        File r =new File(filename+".jpg");
    		        r.deleteOnExit();
    		        m.fenetre.lastScanned(index);
    		        index++;
     
    //		        new uk.co.mmscomputing.concurrent.Semaphore(0,true).tryAcquire(2000,null);
     
    		      }catch(Exception e){
    		        e.printStackTrace();
    		      }
    		    }else if(type.equals(ScannerIOMetadata.NEGOTIATE)){
    		      ScannerDevice device=metadata.getDevice();try {
    				device.setShowUserInterface(true);
    			} catch (ScannerIOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			/* 
    		      try{
     
    		        device.setShowProgressBar(true);
    		        device.setRegionOfInterest(0,0,210.0,300.0);
    		        device.setResolution(100);
    		      }catch(Exception e){
    		        e.printStackTrace();
    		      }
    		*/
    		    }else if(type.equals(ScannerIOMetadata.STATECHANGE)){
    		      System.err.println(metadata.getStateStr());
    		    }else if(type.equals(ScannerIOMetadata.EXCEPTION)){
    		      metadata.getException().printStackTrace();
    		    }
    		  }
     
     
    }
    En fait, il s'agit ni plus ni moins que d'un copier-coller arrangé du code-sample fourni sur le site de mmscomputing...

    Donc un clic sur le bouton "Scanner" crée cet objet "Scan" et lance la fenêtre de gestion du scanner. Cette fenêtre ne fait pas partie de mon programme (en fait elle varie selon les machines), je pense qu'elle dépend du pilote ou des logiciels accompagnant le scanner. J'ai mis une capture de la dite fenêtre en pj.

    Tout fonctionne bien, sauf si je clique sur "annuler" (dans la fenêtre de gestion du scanner).

    En effet, je ne sais pas comment récupérer cet événement dans mon programme JAVA.

    Je vous remercie d'avance.

    PS:Je travaille sous Eclipse.
    Images attachées Images attachées  

Discussions similaires

  1. Interface swing + jsp
    Par cesoir dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 06/01/2011, 18h38
  2. Réponses: 1
    Dernier message: 25/08/2010, 10h50
  3. [Java] Génération d' "attributs" d'interfaces
    Par Mucho dans le forum BOUML
    Réponses: 2
    Dernier message: 03/05/2007, 17h56
  4. Accéder à une interface swing à partir d'un thread
    Par bart64 dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 15/10/2006, 15h54
  5. [swing] outils pour dessiner des interfaces swing
    Par mlequim dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/02/2006, 14h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo