Appel d'un .class qui contient une image - Java - Programmation
Marsh Posté le 09-03-2005 à 16:07:16
public class Titre extends Applet |
Je comprend pas pourquoi est-ce que titre dérive de Applet
Marsh Posté le 09-03-2005 à 16:09:30
parceque je suis perdue
si je met pas extends applet il me prend pas getCodeBase ni drawImage
Dans un canvas j'ai pas reussi non plus
Marsh Posté le 09-03-2005 à 16:11:27
Ouch... Va falloir revoir plusieurs choses Tu peux dériver Titre de JPanel par exemple, et passer le codeBase dans le constructeur de Titre...
Marsh Posté le 09-03-2005 à 16:17:31
Nan, tu fais le getCodeBase dans l'Applet en elle-même, et tu file le résultat dans le constructeur de Titre
Marsh Posté le 09-03-2005 à 16:20:28
pfff je crois que je vais laisser tomber pour aujourd'hui...
Marsh Posté le 09-03-2005 à 16:24:27
Oui je me doute a chaque fois je me prend la tete sur une truc et en fait c'est tout simple mais la franchement je bloque
Marsh Posté le 09-03-2005 à 16:32:43
Je met ca dans l'applet ?
titre.img=getImage(getCodeBase(),"Images/titre.gif" );
Marsh Posté le 09-03-2005 à 16:34:32
mais je ne sais plus quoi mettre dans mon constructeur de titre ?
Marsh Posté le 09-03-2005 à 16:01:37
Bonjour
En fait j'ai un fichier principal (applet) avec un gridbaglayout dedans. je vous met les codes)
import java.applet.Applet;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
public class Pageprincipale extends Applet {
//champs
private Titre titre;
private Menu menu, menu2;
//------------------------INITIALISATION-------------------------
public void init(){
// -----------------CREATION DE LA PAGE---------------
GridBagLayout g=new GridBagLayout();
GridBagConstraints c=new GridBagConstraints();
//---------CREATION DU "TABLEAU"-----------------
setLayout(g);
titre=new Titre(); //CA SERAS POUR LE TITRE EN HAUT
c.gridx=0;//emplacement
c.gridy=0;
c.weightx=1;//taille
c.weighty=1;
c.gridwidth=2;
c.fill=GridBagConstraints.VERTICAL;//redimensionnement vertical
g.setConstraints(titre,c); //insere les contraintes
add(titre);//insere le panel titre
//2eme Ligne // 1er Colonne-----------MENU GAUCHE-----------------
menu=new Menu();
c.gridy=1;
c.weightx=0;//taille
c.weighty=0;
c.fill=GridBagConstraints.NONE;
g.setConstraints(menu,c); //insere les contraintes
add(menu);//insere le label temps
//2eme Ligne //2eme Colonne -----------PAGE MILIEU---------------
menu2=new Menu();
c.gridx=1;
c.gridy=1;
c.fill=GridBagConstraints.NONE;
g.setConstraints(menu2,c); //insere les contraintes
add(menu2);//insere le texte dynamique
MENU2 C'EST EN ATTENDANT D'AVOIR FAIT MA PAGE MILEU
}
}
Dans ma cellule a gauche et a droite j'arrive a appelé un Menu.class
MON FICHIER MENU
public class Menu extends Applet{
//------------------CHAMPS---------------------------------------------
private CheckboxGroup cbg; //groupes pour boutons radio
private Checkbox[]boucle; //cases boutons radio
private Label ltemps,lboucle; //labels
private TextField texte; //champs texte
private Button start; // bouton
private JComboBox effets,duree; //combo
String []danseffets={"temp1","temp2","temp3","temp4","temp5"}; // dans combo
String []dansduree={"1 min","5 min","10 min","30 min","1 heure"};// dans combo
//----------------CONSTRUCTEUR -------------------------------------------
public Menu(){
//------------------Instanciation des composants------------------------
//boutons radio
cbg=new CheckboxGroup();
boucle= new Checkbox[2];
boucle[0]=new Checkbox("En boucle",cbg,false);
boucle[1]=new Checkbox("Normal", cbg, false);
//les labels
ltemps=new Label("temps" );
lboucle=new Label("Boucles ou Normal" );
//champs texte
texte=new TextField ("000",3);
//Bouton
start=new Button("Démarrer" );
//les combos
effets=new JComboBox(danseffets);
duree=new JComboBox(dansduree);
//-------------------Mise en page ----------------------------
setLayout(new GridLayout(7,1));
//--------------Ajout des composants-------------------------
add(ltemps);
add(texte);
add(effets);
add(duree);
add(start);
add(boucle[0]);
add(boucle[1]);
}
}
Mais le probleme viens de là : Quand je veux inserer mon Titre.class, il doit contenir qu'une image c'est tout mais je n'y arrive pas.
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
public class Titre extends Applet{
//Champs
private Image img;
public void init() {
img=getImage(getCodeBase(),"Images/titre.gif" );
}
public void paint(Graphics g)
{
g.drawImage(img,0,0,this);
}
}
Je crois que c'est parceque je le met dans un init mais je suis perdue là....
Lonycc