Bonjour Messieurs

Je commence à coder en Java. J'ai un problème, je suis en train de faire un programme permettant d'afficher un format de document propriétaire. L’affichage doit se faire en 3 temps :
1 la page est transformée en BMP monochrome (ok)
2 récupération de la BMP dans un BufferedImage
3 affichage de la BufferedImage dans une frame

Pour le moment, j'affiche toujours une page noire et j’ai bien du mal à comprendre où est le problème.

Merci d’avance pour votre aide.
Je suis en train de voir ce que je peux faire pour vous ouvrir un ftp
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
66
 
public class AfficheBmp extends JComponent {
	static BufferedImage 	afpImage;
	static JFrame 			frame;
	static int byteArrayToInt (byte[] tabByte, int borneDebut, int nombreByte) {
		  //converti un ensemble de byte consécutif dans un tableau vers un int
		  System.out.println("nombreByte : "+nombreByte);      	
		  System.out.println("borneDebut : "+borneDebut);      	
		  System.out.println("tabByte lenght : "+tabByte.length);   
		  ByteBuffer byteBuffer = ByteBuffer.wrap(tabByte,borneDebut,nombreByte);
		  byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
	    System.out.println("Bytes buffer lenght : "+byteBuffer); 
	    int intRetour = byteBuffer.getInt();
	    return (intRetour);	
	  }
	public static void main(String[] args) {
//		 Stream to read file
		AfficheBmp toto = new AfficheBmp ();
		FileInputStream	fin;		
		byte[]			tabBmp;
		try
		{
		    // Open an input stream
		    fin = new FileInputStream ("output2.bmp");
		    tabBmp = new byte [fin.available()];
		    fin.read(tabBmp);
		    // Close our input stream
		    fin.close();
			if (tabBmp.length >0 ) {
				int intLargeur = byteArrayToInt(tabBmp,18,4);
				int intHauteur = byteArrayToInt(tabBmp,22,4);
				int intOffsetPixel = byteArrayToInt(tabBmp,10,4);
				System.out.println("largeur : "+intLargeur);      	
				System.out.println("Hauteur : "+intHauteur);
				System.out.println("Offset  : "+intOffsetPixel);
				ColorModel monoChromeModel = new IndexColorModel(1,2,
	    			new byte[] {(byte)0, (byte)255},
	    			new byte[] {(byte)0, (byte)255},
	    			new byte[] {(byte)0, (byte)255});
				ByteBuffer BufferTabPixel = ByteBuffer.allocate (tabBmp.length-intOffsetPixel);
				byte[] tabPixel = BufferTabPixel.array();
				DataBuffer db = new DataBufferByte(tabPixel,tabPixel.length);
				WritableRaster wr = Raster.createPackedRaster(db,intLargeur,intHauteur,1,null);
				afpImage = new BufferedImage (monoChromeModel,wr,false,null);
				Image monImage = Toolkit.getDefaultToolkit().createImage(afpImage.getSource());
				frame = new JFrame ("Affiche BMP");
				frame.setVisible(true);
				frame.setSize(300,300);
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				ImageIcon tempIcon = new ImageIcon (monImage);
				JLabel labelImage = new JLabel (tempIcon);
				//pane.add(monImage);
				frame.getContentPane().add (new JScrollPane(labelImage));
 
			}
 
		}
		// Catches any error conditions
		catch (IOException e)
		{
			System.err.println ("Unable to read from file");
			System.exit(-1);
		}
 
	}
}
[/code]