INF1220 - Intro au java

slimgodin Messages postés 1 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 25 janvier 2012 - 25 janv. 2012 à 21:54
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 26 janv. 2012 à 07:48
Bonjour,

Je suis actuellement après faire un cours de java par correspondance. Il s'agit d'une introduction au Java selon Téluq!

La question avec laquelle j'ai de la difficulté est la suivante :

Afficher les messages d'introduction et de bienvenue à l'École Saint Pruneau. Ces messages doivent être mis dans un fichier .jpeg. Vous devez étudier le code du ficher window.java pour plus d'information.

Pour la première partie, je n'ai aucun problème à afficher le message de bienvenue qui serait le suivant :


import java.util.Scanner;
import java.io.*;

public class Bienvenue
{
public static void main (String[] args)
{
Scanner EntreeClavier=new Scanner(System.in);

System.out.println("Veuillez entrer votre nom suivit d'une virgule et d'un espace et votre prénom :");

String str = EntreeClavier.nextLine();

System.out.println("\n\n\nBienvenue à l'école Saint-Pruneau : Présentation du concours SUDOKU");

System.out.println(str);

System.out.println("\nFaites votre choix:");

System.out.println("SUDOKU DÉBUTANT");

System.out.println("SUDOKU MOYEN");

System.out.println("SUDOKU AVANCÉ:");

System.out.println("\nCliquez ici pour visualiser les règles du jeu:");

return;

}
}

Cependant, pour la deuxième partie, je n'ai aucune idée de ce que je dois faire. Je sais ce qu'est un fichier Jpeg et je sais qu'avec la fonction ImageIcon = new ImageIcon("imageenquestion.jpg"); nous allons chercher la photos jpeg voulus.

Mais comment faire pour mette le texte dans un fichier jpeg?

Le fichier window.java qu'on me fournit pour élaborer ce programme est le suivant :

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class window extends JWindow
{
ImageIcon imIntro = new ImageIcon("images\\Lintro.jpg");
ImageIcon imRegles = new ImageIcon("images\\Lesregles.jpg");
static Thread t = new Thread();
static int thread = 0;
static JButton bouton;
static int X;
static int Y;
/* Parametres du constructeur :
X, Y: taille de la fenetre :)
type: 1-> Intro, 2->regles */
public window( int X, int Y, int type ) {

super();
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setSize(X,Y);
setLocation( (dim.width - X)/2 , (dim.height - Y)/2);
setVisible(true);
Container fen = getContentPane();

if (type 1 ) bouton new JButton(imIntro);
else bouton = new JButton(imRegles);
bouton.setPreferredSize(new Dimension(X, Y) );
fen.add( bouton);
bouton.setVisible( true );

show();
/* Si c'est une fenetre d'intro,
on ne l'affiche que 2 secondes */
if( type == 1 ) {
try {
t.sleep(2000);
thread = 1;
}
catch( java.lang.InterruptedException ex ) {
JOptionPane.showMessageDialog(null, "erreur");
}
dispose();

}
/* Si c'est une fenetre de regles,
on ne la ferme que quand l'utilisateur clique */
else {
bouton.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
}

}
}



Merci à l'avance de votre aide.

Steven

1 réponse

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
26 janv. 2012 à 07:48
Bonjour,

Le fichier window.java ne contient aucune informations sur la façon de créer cette image. Ce que tu peux faire est d'afficher le texte dans un JPanel et ensuite d'enregistrer le contenu de ce panel dans une image :

	public void enregistrerImage() {
BufferedImage image = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB);

Graphics2D g2d = image.createGraphics();

if(!isOpaque()){
Color bg = getBackground();
bg = (bg.getAlpha() < 255) ? new Color(bg.getRed(), bg.getGreen(), bg.getBlue()) : bg;

Color color = g2d.getColor();
g2d.setColor(bg);
g2d.fillRect(0, 0, getWidth(), getHeight());
g2d.setColor(color);
}
paint(g2d);
g2d.dispose();
try {
ImageIO.write(image, "jpeg", new File("C:\\Documents and Settings\\Julien\\Bureau\\image.jpg"));
} catch (IOException e) {      
e.printStackTrace();
} 
}


Une autre remarque : le code fournit est vraiment de mauvaise, de très mauvaise qualité, je ne ferais pas trop confiance à cette méthode d'apprentissage par correspondance...
0
Rejoignez-nous