Image qui cache ma progressBar

kobee12 Messages postés 153 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 31 octobre 2006 - 3 sept. 2004 à 10:40
kobee12 Messages postés 153 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 31 octobre 2006 - 10 sept. 2004 à 12:20
Bonjour a tous,

Je sens que ca ne va peut etre pas plaire a tout le monde car ils vont penser que l'on pose toujours les memes questions.

En effet mon probleme est que j'affiche une image dans un jwindow et je voudrais afficher par dessus une JProgressBar.
Seulement, mon image s'affiche bien mais ma barre de progression ne s'affiche pas.
J'ai regarde sur le forum les gens qui avait un peu pres le meme pb mais je n'arrive pas a faire fonctionner mon appli.

voici mon code:

public class FrameIntro extends JWindow {
BorderLayout borderLayout1 = new BorderLayout();
JPanel jContentPanel = new JPanel();
JProgressBar jProgressBar1 = new JProgressBar();
ImageCanvas img;
GridBagLayout gridBagLayout1 = new GridBagLayout();

public FrameIntro() {
try {
jbInit();
}
catch(Exception ex) {
ex.printStackTrace();
}
}

void jbInit() throws Exception {
img = new ImageCanvas("JComm_on/Images/cortomaltese.jpg", 400, 300);
this.getContentPane().setLayout(borderLayout1);
this.setSize(new Dimension(400, 300));
jProgressBar1.setOrientation(JProgressBar.HORIZONTAL);
jProgressBar1.setEnabled(true);
jProgressBar1.setOpaque(true);
jProgressBar1.setStringPainted(true);
jContentPanel.setLayout(gridBagLayout1);
jContentPanel.setBorder(BorderFactory.createLineBorder(Color.black));
jContentPanel.setMaximumSize(new Dimension(400, 300));
jContentPanel.setMinimumSize(new Dimension(400, 300));
jContentPanel.setPreferredSize(new Dimension(400, 300));
this.getContentPane().add(jContentPanel, BorderLayout.CENTER);
jContentPanel.add(jProgressBar1, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(137, 87, 144, 87), 125, 0));
jContentPanel.add(img, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(-1, -1, 0, 0), 401, 301));

jProgressBar1.setVisible(true);
jProgressBar1.setValue(10);
}
}

Voici ma fonction paint de ma classe ImageCanvas :

public void paint(
Graphics g) {
if (img == null) {
super.paint(g);
g.setColor(Color.black);
}
else {
g.drawImage(img, 0, 0, largeur, hauteur, this);
}
}

Bon voila si quelqu'un a solution, je suis pres a ecouter.
Merci d'avance
kobee12
:big)

22 réponses

gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
9 sept. 2004 à 19:23
1)au temps pour moi, merci.
2)ben, a part tes deux solutions, je vois pas ...

gmi19oj19
0
kobee12 Messages postés 153 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 31 octobre 2006 1
10 sept. 2004 à 12:20
1) tu as raison d'ailleurs au temps pour moi :
pour qui ca interesse :
http://www.langue-fr.net/index/A/au_temps-autant.htm

2)J'ai trouve une librairie sur le net tres interessante. Elle sert surtout a mettre en icone une application dans la zone de notification. Mais il existe une classe AlwaysOnTop qui permet de conserver une fenetre au premier plan.

Voici le lien:
http://jeans.studentenweb.org/java/trayicon/trayicon.html

voici un exemple qui est propose :
package demo.swing;

import javax.swing.JFrame;
import javax.swing.JLabel;

import com.jeans.trayicon.WindowsTrayIcon;

public class AlwaysOnTop extends JFrame {
public AlwaysOnTop() {
super();
getContentPane().add(new JLabel("Test"));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}

public static void main(String[] args) {
WindowsTrayIcon.initTrayIcon("Test app");
AlwaysOnTop app = new AlwaysOnTop();

app.setVisible(true);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
WindowsTrayIcon.initJAWT();
WindowsTrayIcon.setAlwaysOnTop(app, true);
System.out.println("Window should be always on top.");
}
}

J'ai pas encore teste dans mon appli mais ca devrait fonctionner.
:big)
0
Rejoignez-nous