Alors, en suivant divers tutos pas toujours clairs sur le net, j’en suis arrivé à ca :
import javax.swing.*;
import java.awt.*;
class MyWindow extends JFrame{
int ht, lg, x, y;
String titre;
private final static long serialVersionUID = 43L;
JButton mybutton = new JButton("bouton");
JButton mybutton2 = new JButton("bouton2");
MyWindow(int h, int l, int abs, int ord, String title){
super(title);
this.ht = h;
this.lg = l;
this.x = abs;
this.y = ord;
this.titre = title;
this.setSize(this.ht, this.lg);
this.setLocation(this.x, this.y);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
Container cnt = this.getContentPane();
cnt.setBackground(Color.RED);
GridLayout myflow = new GridLayout(10, 10);
cnt.setLayout(myflow);
cnt.setSize(h,l);
cnt.add(mybutton);
cnt.add(mybutton2);
cnt.setMinimumSize(new Dimension(h,l));
this.setMinimumSize(new Dimension(h,l));
this.setContentPane(cnt);
this.pack();
this.setVisible(true);
}
}
class MyFrame{
public static void main(String [] args){
MyWindow mywin = new MyWindow(600, 400, 100, 200, "montitre");
}
}
Pour afficher une fenêtre toute bête. Le problème est que les réglages de mon contentpane ne sont pris en compte que lors du pack … mais que le pack me benne mes contraintes de dimensions (genre les setMinimumSize(…)) qu’on peut voir trainer dans le code.
J’ai mis un GridLayout pour tester mais j’aurais pu en mettre un autre cela ne change rien.
Y aurait-il un grand gourou du JAVA pour m’éclairer (même un petit d’ailleurs enfin quelqu’un qui a deja fait ca et pourrait me l’expliquer quoi parceque la je suis un peu perdu …)
Nota : tous les champs sont publics et oui 'est une négligence parceque j’avais la flemme de taper les “private” et de me fader les accesseurs ^^.