SetLocation(Point p)

snipingfafa Messages postés 3 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 8 décembre 2004 - 25 oct. 2004 à 16:00
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 25 oct. 2004 à 20:19
Hello

Débuts en java laborieux...

Je dois créer plusieurs fenêtres avec 1 constructeur sécifiant le titre, la taille et la position de la fenêtre. Pour le titre et la taille, c'est ok. Je bute sur la position....
voilà mon code, la taille doit impérativement être en String (HG, BG, etc). Y pas d'erreur mais ça fait rien ! (position = 0,0....)

Merci !

public class FenetrePos extends JFrame {

public static void main(String[] args){
FenetrePos f1, f2,f3, f4, f5;

f1 = new FenetrePos("Winword", 200, 120,"HG");
f2 = new FenetrePos("Excel", 120, 220, "BG");

}

public FenetrePos(String titre ,int ax ,int ay, String pos ){
super(titre);
setSize(ax,ay);
deplaceFenetre(pos);

setVisible(true);
}

public void deplaceFenetre(String pos){

Point HG = new Point();
HG.setLocation(400,400);
//HG.getLocation();
//HG.setLocation(200,200);}

}
}

3 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
25 oct. 2004 à 17:59
hello,

tu veux pouvoir passer en argument a ton constructeur soit "HG"
soit "BG" et faire appel à des locations prédéfini ou passer en argument les positions sous forme de chaînes genre "200,100"

si c'est faire appel a des locations prédéfini tu peux faire comme ceci

.....
    FenetrePos f1, f2,f3, f4, f5;
    f1 = new FenetrePos("Winword", 200, 120,"hg");
    f2 = new FenetrePos("Excel", 120, 220, "Bg");
.....
  public void deplaceFenetre(String pos){
    String tmp = pos.toUpperCase();
    Point coord = new Point();
    if(tmp.compareTo("HG")==0)
      coord.setLocation(100,100);
    else if(tmp.compareTo("BG")==0)
      coord.setLocation(500,500);
    setLocation(coord);
  }


sinon il faut joué avec les chaînes de caractères et pour ça plein de solutions différente sont possible

.....
    FenetrePos f1, f2,f3, f4, f5;
    f1 = new FenetrePos("Winword", 200, 120,"100,100");
    f2 = new FenetrePos("Excel", 120, 220, "200,200");
......
  public void deplaceFenetre(String pos){
    int place = pos.indexOf(",");
    String X = pos.substring(0, place);
    String Y = pos.substring(place+1, pos.length());
    setLocation(new Point(Integer.parseInt(X),Integer.parseInt(Y)));
  }
0
snipingfafa Messages postés 3 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 8 décembre 2004
25 oct. 2004 à 18:17
Merci bcp ! C'est la 1ère solution dont j'ai besoin. Maintenant, je dois m'amuser à poser tout ça en haut gauche, en bas gauche, etc.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
25 oct. 2004 à 20:19
ba pour le coin haut gauche c pas un prob setLocation(0, 0)
et pour le bas droit utiliste le package Toolkit qui va te permetre de recup la dimension de l'ecran
0
Rejoignez-nous