A voir également:
- Java
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel football - Télécharger - Jeux vidéo
- Jeux java itel 5360 ✓ - Forum Mobile
- Java jre - Télécharger - Langages
2 réponses
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
4 juin 2012 à 21:33
4 juin 2012 à 21:33
Il va falloir être un peu plus concret dans tes attentes, parce que tu as pu commencer de 1000 manières différentes !
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
5 juin 2012 à 20:21
5 juin 2012 à 20:21
Il ne faut pas ajouter plusieurs fois le même objet, getContentPane().add(jp) et this.add(jp), c'est pareil, du coup ça pose problème. De même, tu as deux frame : this, et jf... ça fait un peu désordre. Enfin le pack va rentrer en conflit avec les setSize, qui eux même vont rentrer en conflit avec les layout, donc il ne faut pas trop en faire...
public class Appli extends JFrame { private final Dessin d; private final JButton jb1; public Appli() { super("MasterMind"); setSize(600,300); d = new Dessin(4,6); add(d,BorderLayout.NORTH); jb1 = new JButton("Check"); add(jb1,BorderLayout.SOUTH); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { new Appli(); } }
Ha oui merci mais quand j'agrandis ma fenêtre il y a un emplacement blanc ...
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Appli extends JFrame
{
private Dessin d;// JPanel
private JFrame jf;// JFrame
public Appli()
{
d = new Dessin(4,6);
setPreferredSize(new Dimension(600,300));
jf = new JFrame ("MasterMind");
JPanel jp = new JPanel();
d.setLayout(new BorderLayout());
d.add(new Button ("Check"),BorderLayout.SOUTH);
jf.setContentPane(d);
jf.setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.pack();
}
public static void main(String[] arg)
{
new Appli();
}
}
Donc si je vais comme ça c'est correct non ? Vu qu'il n'y a plus d'emplacement blanc en dessous ? :)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Appli extends JFrame
{
private Dessin d;// JPanel
private JFrame jf;// JFrame
public Appli()
{
d = new Dessin(4,6);
setPreferredSize(new Dimension(600,300));
jf = new JFrame ("MasterMind");
JPanel jp = new JPanel();
d.setLayout(new BorderLayout());
d.add(new Button ("Check"),BorderLayout.SOUTH);
jf.setContentPane(d);
jf.setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.pack();
}
public static void main(String[] arg)
{
new Appli();
}
}
Donc si je vais comme ça c'est correct non ? Vu qu'il n'y a plus d'emplacement blanc en dessous ? :)
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
5 juin 2012 à 21:15
5 juin 2012 à 21:15
Tu as toujours tes deux JFrame ici, la première qui est ta classe extends JFrame, et la deuxième jf que tu déclares à l'intérieur du code, as-tu vraiment besoin des deux ?
Tu peux tester : new Appli().setVisible(true); pour bien voir que tu n'en as pas qu'une de créée...
Après si visuellement ça donne ce que tu veux tant mieux, moi perso, je n'ai pas la classe Dessin, mon test ne donne donc pas grand chose...
Remarque : jp ne sert à rien !
Tu peux tester : new Appli().setVisible(true); pour bien voir que tu n'en as pas qu'une de créée...
Après si visuellement ça donne ce que tu veux tant mieux, moi perso, je n'ai pas la classe Dessin, mon test ne donne donc pas grand chose...
Remarque : jp ne sert à rien !
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
5 juin 2012 à 21:46
5 juin 2012 à 21:46
Il me semble que BorderLayout n'accepte pas que l'on définisse une taille pour les composants, mais si mets null comme Layout tu peux utiliser setSize sans problème :
d.setLayout(null); JButton btn = new JButton("Check"); btn.setSize(90,90); d.add(btn);
4 juin 2012 à 21:46
4 juin 2012 à 21:50
5 juin 2012 à 17:43
5 juin 2012 à 18:40
5 juin 2012 à 19:26