Agrandir l'emplacement de l'icone"tasse à café"

cs_bibe Messages postés 27 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 12 mars 2004 - 3 oct. 2002 à 16:27
cs_Dunkel Messages postés 7 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 14 mars 2003 - 30 nov. 2002 à 14:34
Bonjour à tous.
Je met un icone en remplacement de l'icone java à l'aide de
"Toolkit tk = Toolkit.getDefaultToolkit();
Image img = tk.getImage(logo);
setIconImage(img);
"
Mon problème est que le "logo" que je voudrais mettre à la place est un petit peu plus grand que celui de la tasse à café de java.

Question: Peut on agrandir un peu la barre dans la quelle se place l'icone?
Merci d'avance.
bibe.

4 réponses

JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
12 oct. 2002 à 10:08
Je me suis renseigné, c'est malheureusement impossible, puisque le JFrame est génré par le système, et prend donc l'apparence que le système lui donne.
Pour contourner le problème, prend une JWindow à la place de ta JFrame, là pas de barre de titre,donc tu peux en ajouter un de la taille que tu veux, mais il faut le creer toi même.
Si tu es intéssé je peux te motrer comment faire.
JHelp
0
cs_Dunkel Messages postés 7 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 14 mars 2003
24 nov. 2002 à 22:45
je serais interessé pour ke tu me montre comment creer sa propre barre d outils ca m aiderais grandement pour gerer le design de mon programme
0
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
30 nov. 2002 à 01:20
1)Tu as donc ta classe qui hérite de JWindow (javax.swing), appelons la MonApplication
public class MonApplication extends JWindow
2)Dans la construction, tu lui donnes un BorderLayout (java.awt).
getContentPane().setLayout(newBorderLayout());
3)En imaginant que tu veuilles placer ta barre de menu en haut.
BarreMenu barreMenu=new BarreMenu(this,icone,titre);
getContentPane().add(barreMenu,BorderLayout.NORTH);
4)avvant l'affichage, n'oublie pas pack.
5) Creer un ton composant (JComponent de javax.swing) BarreMenu
public class BarreMenu entends JComponent
{
private int l=-1,h=-1,x=-1,y=-1;
private JWindow fenetre;
private Icon icone;
private ImageIcon imageIconifier=new ImageIcon("nom fichier");
private ImageIcon imageAgrandir=new ImageIcon("nom fichier");
private ImageIcon imageRestaurer=new ImageIcon("nom fichier");
private ImageIcon imageFermer=new ImageIcon("nom fichier");
private String titre;
private JButton bouton;
public BarreMenu(JWindow fenetre,Icon icone,String titre);
{
this.fenetre=fenetre;
this.icone=icone;
this.titre=titre;
setLayout(new FlowLayout());
add(newJLabel(icone));
add(new JLabel(titre));
JButton iconifier=new JButton(imageIconifier);
iconifier.addActionListener
(
new ActionListener()
{
public void actionperformed(ActionEvent ae)
{
fenetre.setVisible(false);
}
}
);
add(iconifier);
bouton=new JButton(imageAgrandir);
iconifier.addActionListener
(
new ActionListener()
{
public void actionperformed(ActionEvent ae)
{
if(l>=0)
{
fenetre.setSize(l,h);
fenetre.setLocation(x,y);
x=y=l=h=-1;
bouton.setIcon(imagaeAgrandir);
}
else
{
l=fenetre.getWidth();
h=fenetre.getHeight();
x=fenetre.getX();
y=fenetre.getY();
fenetre.setSize(Toolkit.getDefaultToolkit().getScreenSize());
bouton.setIcon(imageRestaurer);
}
}
}
);
add(bouton);
JButton fermer=new JButton(imageFermer);
iconifier.addActionListener
(
new ActionListener()
{
public void actionperformed(ActionEvent ae)
{
fenetre.setVisible(false);
fenetre.dispose();
}
}
);
}
}

Maintenant avec le jdk 1.4.1, on peux garder une JFrame, et faire une vrai iconification (setState(JFrame.ICONIFIED))
et masquer la barre menu :
setUndecorated

Voilà
J'espere t'aivoir aider
JHelp
0
cs_Dunkel Messages postés 7 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 14 mars 2003
30 nov. 2002 à 14:34
merci je connaissais setState ^^ mais je v tester ca :) merci bocou en tout ca je v enfin finir mon programme ^^
0