cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004
-
24 mars 2004 à 08:17
omel1243
Messages postés2Date d'inscriptiondimanche 20 janvier 2008StatutMembreDernière intervention31 octobre 2008
-
2 juin 2008 à 17:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 20 avril 2004 à 08:57
Les deux images ne disparaissent donc jamais :p
B@ron {EU.BELGIUM}
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 20 avril 2004 à 08:56
Heu j'ai essayé et j'ai:
- Le menu ne disparait jamais et il a bien l'image de fond
- La seule chose qui disparait c'est lorsqu'on utilise la texture alors le texte bonjour disparait puisque noir sur noir.
Je sais pas poster mes printScreen peut-être à une mail address???
J'ai juste changer la manière dont tu charges tes images...
B@ron {EU.BELGIUM}
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 20 avril 2004 à 07:33
Zé l'ai imprimé, je regarde ca ce soir.
PS: le code de reconnaissance vocale est terminé, le temps de le décrasser et vous pourrez commander votre ordinateur, le menus, ... via java :p
B@ron {EU.BELGIUM}
speedster130
Messages postés6Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention20 avril 2004 19 avril 2004 à 22:34
private int mode;
private BufferedImage bufferedImage;
public static final int CENTRE = 0;
public static final int TEXTURE = 1;
public TestBG(int mode){
super("Test");
this.mode = mode;
this.bufferedImage = this.toBufferedImage(Toolkit.getDefaultToolkit().getImage("fond.jpg"));
JMenuBar jmb = new JMenuBar();
MonMenu menu = new MonMenu("Menu");
menu.add("menu item");
jmb.add(menu);setJMenuBar(jmb);
setContentPane(new MonPanel());
getContentPane().add(new MonButton("Bonjour"));
setSize(400,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);setVisible(true);
}
private class MonPanel extends JPanel{
private Image image;
public MonPanel(){
super();
}
public void paintComponent(Graphics g){
switch( mode ) {
case TEXTURE :
Graphics2D g2d = (Graphics2D)g;
g2d.setPaint(new TexturePaint(bufferedImage,new Rectangle(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight())));
g2d.fillRect(0, 0, getWidth(), getHeight() );
break;
case CENTRE :
g.setColor(this.getBackground());
g.fillRect(0,0,getWidth(), getHeight() );
g.drawImage(bufferedImage,(getWidth()-bufferedImage.getWidth())/2,(getHeight()-bufferedImage.getHeight())/2,null);
break;
default :
super.paintComponents(g);
}
}
}
private class MonMenu extends JMenu{
private Image image;
public MonMenu(String str){
super(str);
setOpaque(false);
URL url = getClass().getResource("fond.jpg");
image = Toolkit.getDefaultToolkit().getImage(url);
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image,0);
try{tracker.waitForAll();}catch(Exception e){e.printStackTrace();}
}
public void paintComponent(Graphics g){
g.drawImage(image,0,0,this);
super.paintComponent(g);
}
}
private class MonButton extends JButton{
private Image image;
public MonButton(String str){
super(str);
setOpaque(false);
setBorderPainted(false);
URL url = getClass().getResource("btn.jpg");
image = Toolkit.getDefaultToolkit().getImage(url);
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image,0);
try{tracker.waitForAll();}catch(Exception e){e.printStackTrace();}
}
public void paintComponent(Graphics g){
g.drawImage(image,0,0,this);
super.paintComponent(g);
}
}
private BufferedImage toBufferedImage(Image image){
image = new ImageIcon(image).getImage();
BufferedImage bufferedImage = new BufferedImage( image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.createGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, image.getWidth(null), image.getHeight(null));
g.drawImage(image, 0, 0, null);
g.dispose();
return bufferedImage;
}
public static void main(String[] args){
new TestBG(TestBG.CENTRE);
new TestBG(TestBG.TEXTURE);
}
}
J'ai un menu qui contient une image de fond (centrée) et un panel qui contient une image de fond (mosaïque).
Mon problème est que si j'essaie d'appliquer ce procédé au menu (avoir une image repétée en mosaïque) alors dans ce cas le titre du menu disparaît.
Le mieux serait de tester ce code pour comprendre.
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 19 avril 2004 à 18:34
c symptomatic du melange de class AWT et Swing ca ;o)...
Faut pas melanger .. ;o)
++
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 19 avril 2004 à 07:22
Tu devrais poster ton code et cela ne prendrait que quelques minutes pour te trouver une soluce.
B@ron{EU.BELGIUM}
speedster130
Messages postés6Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention20 avril 2004 19 avril 2004 à 02:11
Je me suis mal expliqué.
En fait, j'avais pris cet exemple et lorsque j'ajoutais un JMenu dans un JMenuBar et que j'essayais de cliquer sur le menu et bien à l'ouverture celui-ci était masqué par l'image en fond.
Si tu as un exemple complet, je suis preneur.
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 18 avril 2004 à 20:36
ben les jmenubar sont pas prevu pour recevoir des bouton ;o) mais des JMenu qui eu meme sont prevu pour recevoir des JMenuItem
ou checked ;o)
dc cela ne me choc pas tro que tu n y arrive pas ;o) mais now ca doit etre faisable qd meme ;o) (le veux tu vraiment?? )
;o)
++
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 18 avril 2004 à 15:26
Je ne sais pas si on peut ajouter un bouton à un menu.
Tu dois l'ajouter à un JToolBar je pense...
Sinon, je peux poster la création d'un menu complet si tu veux...
B@ron{EU.BELGIUM}
speedster130
Messages postés6Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention20 avril 2004 16 avril 2004 à 20:32
J'ai essayé d'ajouter un JButton et aussi un JMenu dans un JMenuBar et les problèmes que je rencontre sont les suivants :
- le jbutton n'apparait paa
- lorsque je clique sur mon menu il est masqué
En gros, je n'arrive pas à ajouter de composants.
Comment je peux faire ?
J'ai aussi essayé d'utiliser setOpaque(false) mais ça n'a rien changé.
speedster130
Messages postés6Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention20 avril 2004 16 avril 2004 à 20:32
J'ai essayé d'ajouter un JButton et aussi un JMenu dans un JMenuBar et les problèmes que je rencontre sont les suivants :
- le jbutton n'apparait paa
- lorsque je clique sur mon menu il est masqué
En gros, je n'arrive pas à ajouter de composants.
Comment je peux faire ?
J'ai aussi essayé d'utiliser setOpaque(false) mais ça n'a rien changé.
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 13 avril 2004 à 07:40
Quel projet de recherche?
B@ron {EU.BELGIUM}
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 11 avril 2004 à 14:37
;o) cool
mais pas facil a comprendre la fin du message ;o)
cs_lamane
Messages postés20Date d'inscriptionmercredi 7 avril 2004StatutMembreDernière intervention 1 avril 2007 10 avril 2004 à 21:17
bon je me présente j travaile sur un projet de recherche en dévlepement LNGUAGE JAvA votre programme est pas male et je te salut car vous ete sur le von schemin
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 24 mars 2004 à 18:30
;o) ben vi te l avai deja di ca no!!?!! ;o)
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 24 mars 2004 à 10:19
j'ai trouvé voici le morceau manquant afin d'éviter que le fond du jtextfield devienne du brouillon tout noir:
rajouter la ligne: myJTextField.setOpaque(false);
B@ron {EU.BELGIUM}
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 24 mars 2004 à 08:45
Aie, je viens de tester ton application => OK
Cependant, essaie de mettre ceci (JTextField) dans ta fenetre et tu vas de suite comprendre mon problème...
Essaie en suite d'écrire dedans et de faire backSpace, etc...
...
btn.setText( "TOTO" );
JTextField field = new JTextField();
field.setBackground(new java.awt.Color(0,0,0,0));
pnl.add( field );
pnl.add( btn );
btn.setBounds( 50, 50, 100, 100 );
field.setBounds( 150, 150, 100, 100 );
...
B@ron {EU.BELGIUM}
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 24 mars 2004 à 08:17
Merci beaucoup, mais es-tu certain que quand j'écris dans un jtextfield transparent, le contenu ne va pas rester du brouillon?
Je vais essayer et je reviens...
2 juin 2008 à 17:24
6 févr. 2006 à 17:53
20 avril 2004 à 10:02
Le problème que je recontrais était, en effet, lors de l'usage de la texuture...
Cette adresse crypte mon adresse mail.
En cliquant dessus, tu pourras m'envoyer un mail :
http://cerbermail.com/?jruzfeejwQ
Merci d'avance.
20 avril 2004 à 08:57
B@ron {EU.BELGIUM}
20 avril 2004 à 08:56
- Le menu ne disparait jamais et il a bien l'image de fond
- La seule chose qui disparait c'est lorsqu'on utilise la texture alors le texte bonjour disparait puisque noir sur noir.
Je sais pas poster mes printScreen peut-être à une mail address???
J'ai juste changer la manière dont tu charges tes images...
B@ron {EU.BELGIUM}
20 avril 2004 à 07:33
PS: le code de reconnaissance vocale est terminé, le temps de le décrasser et vous pourrez commander votre ordinateur, le menus, ... via java :p
B@ron {EU.BELGIUM}
19 avril 2004 à 22:34
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.MediaTracker;
import java.awt.Rectangle;
import java.awt.TexturePaint;
import java.awt.Toolkit;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
public class TestBG extends JFrame{
private int mode;
private BufferedImage bufferedImage;
public static final int CENTRE = 0;
public static final int TEXTURE = 1;
public TestBG(int mode){
super("Test");
this.mode = mode;
this.bufferedImage = this.toBufferedImage(Toolkit.getDefaultToolkit().getImage("fond.jpg"));
JMenuBar jmb = new JMenuBar();
MonMenu menu = new MonMenu("Menu");
menu.add("menu item");
jmb.add(menu);setJMenuBar(jmb);
setContentPane(new MonPanel());
getContentPane().add(new MonButton("Bonjour"));
setSize(400,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);setVisible(true);
}
private class MonPanel extends JPanel{
private Image image;
public MonPanel(){
super();
}
public void paintComponent(Graphics g){
switch( mode ) {
case TEXTURE :
Graphics2D g2d = (Graphics2D)g;
g2d.setPaint(new TexturePaint(bufferedImage,new Rectangle(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight())));
g2d.fillRect(0, 0, getWidth(), getHeight() );
break;
case CENTRE :
g.setColor(this.getBackground());
g.fillRect(0,0,getWidth(), getHeight() );
g.drawImage(bufferedImage,(getWidth()-bufferedImage.getWidth())/2,(getHeight()-bufferedImage.getHeight())/2,null);
break;
default :
super.paintComponents(g);
}
}
}
private class MonMenu extends JMenu{
private Image image;
public MonMenu(String str){
super(str);
setOpaque(false);
URL url = getClass().getResource("fond.jpg");
image = Toolkit.getDefaultToolkit().getImage(url);
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image,0);
try{tracker.waitForAll();}catch(Exception e){e.printStackTrace();}
}
public void paintComponent(Graphics g){
g.drawImage(image,0,0,this);
super.paintComponent(g);
}
}
private class MonButton extends JButton{
private Image image;
public MonButton(String str){
super(str);
setOpaque(false);
setBorderPainted(false);
URL url = getClass().getResource("btn.jpg");
image = Toolkit.getDefaultToolkit().getImage(url);
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image,0);
try{tracker.waitForAll();}catch(Exception e){e.printStackTrace();}
}
public void paintComponent(Graphics g){
g.drawImage(image,0,0,this);
super.paintComponent(g);
}
}
private BufferedImage toBufferedImage(Image image){
image = new ImageIcon(image).getImage();
BufferedImage bufferedImage = new BufferedImage( image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.createGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, image.getWidth(null), image.getHeight(null));
g.drawImage(image, 0, 0, null);
g.dispose();
return bufferedImage;
}
public static void main(String[] args){
new TestBG(TestBG.CENTRE);
new TestBG(TestBG.TEXTURE);
}
}
J'ai un menu qui contient une image de fond (centrée) et un panel qui contient une image de fond (mosaïque).
Mon problème est que si j'essaie d'appliquer ce procédé au menu (avoir une image repétée en mosaïque) alors dans ce cas le titre du menu disparaît.
Le mieux serait de tester ce code pour comprendre.
19 avril 2004 à 18:34
Faut pas melanger .. ;o)
++
19 avril 2004 à 07:22
B@ron{EU.BELGIUM}
19 avril 2004 à 02:11
En fait, j'avais pris cet exemple et lorsque j'ajoutais un JMenu dans un JMenuBar et que j'essayais de cliquer sur le menu et bien à l'ouverture celui-ci était masqué par l'image en fond.
Si tu as un exemple complet, je suis preneur.
18 avril 2004 à 20:36
ou checked ;o)
dc cela ne me choc pas tro que tu n y arrive pas ;o) mais now ca doit etre faisable qd meme ;o) (le veux tu vraiment?? )
;o)
++
18 avril 2004 à 15:26
Tu dois l'ajouter à un JToolBar je pense...
Sinon, je peux poster la création d'un menu complet si tu veux...
B@ron{EU.BELGIUM}
16 avril 2004 à 20:32
- le jbutton n'apparait paa
- lorsque je clique sur mon menu il est masqué
En gros, je n'arrive pas à ajouter de composants.
Comment je peux faire ?
J'ai aussi essayé d'utiliser setOpaque(false) mais ça n'a rien changé.
16 avril 2004 à 20:32
- le jbutton n'apparait paa
- lorsque je clique sur mon menu il est masqué
En gros, je n'arrive pas à ajouter de composants.
Comment je peux faire ?
J'ai aussi essayé d'utiliser setOpaque(false) mais ça n'a rien changé.
13 avril 2004 à 07:40
B@ron {EU.BELGIUM}
11 avril 2004 à 14:37
mais pas facil a comprendre la fin du message ;o)
10 avril 2004 à 21:17
24 mars 2004 à 18:30
24 mars 2004 à 10:19
rajouter la ligne: myJTextField.setOpaque(false);
B@ron {EU.BELGIUM}
24 mars 2004 à 08:45
Cependant, essaie de mettre ceci (JTextField) dans ta fenetre et tu vas de suite comprendre mon problème...
Essaie en suite d'écrire dedans et de faire backSpace, etc...
...
btn.setText( "TOTO" );
JTextField field = new JTextField();
field.setBackground(new java.awt.Color(0,0,0,0));
pnl.add( field );
pnl.add( btn );
btn.setBounds( 50, 50, 100, 100 );
field.setBounds( 150, 150, 100, 100 );
...
B@ron {EU.BELGIUM}
24 mars 2004 à 08:17
Je vais essayer et je reviens...
B@ron {EU.BELGIUM}