Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Posizionare JButtons

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    2

    Posizionare JButtons

    Salve a tutti, sono nuovo. Mi sono iscritto principalmente perchè non riesco a completare la grafica di un progetto che stiamo facendo al Poli di Milano: cluedo in java!

    mi sono bloccato su un punto: ho fatto la tabella di buttons che servirà per muovere la pedina sulla casella desiderata, e fin qui ok, quello che non riesco a fare adesso è posizionare i buttons in base alle coordinate delle caselle che ho in un altra classe. Posto il codice cosi magari potete darmi una mano!

    public class GridLayoutFrame extends JFrame implements ActionListener {

    private JButton buttons[];
    private boolean toggle = true;
    private Container container;
    private GridLayout gridLayout1;
    private List<Box> layoutConstraintsManager;


    public GridLayoutFrame(List<Box> b) {
    super("GridLayout Demo");
    gridLayout1=new GridLayout(24,24);
    container=getContentPane();
    setLayout(gridLayout1);
    buttons=new JButton[b.size()];


    for (int count=0; count<b.size(); count++) {
    buttons[count]=new JButton(b.get(count).getName());
    buttons[count].addActionListener(this);
    add(buttons[count]);
    }


    }

    public void actionPerformed(ActionEvent event) {
    container.setLayout(gridLayout1);


    }

    Praticamente mi stampa tutti i bottoni e fin qui ok...però me ne mette uno successivo all'altra, fino ad arrivare al 24° (come gli ho detto io!) per poi tornare a capo...come posso fargli piazzare i bottoni in base alla posizione delle caselle e delle stanze (ognuna di esse ha le coordinate già assegnate).

    Grazie per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Se si usa un layout manager, è lui a stabilire posizione e dimensione dei componenti, secondo i suoi specifici criteri. GridLayout è un layout manager che usa dei criteri abbastanza semplici: suddivide l'area in un certo numero di righe/colonne, facendo in modo che tutti i componenti abbiano la stessa dimensione. È così ... non puoi cambiarlo. Se non vuoi usare questi criteri di layout, cambia layout manager o addirittura (ma è una cosa sconsigliabile a meno che ci siano necessità ben precise) togli il layout manager (setLayout(null)) e poi posiziona/dimensiona tutti i componenti con i vari metodi setLocation/setSize/setBounds.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    2
    Originariamente inviato da andbin
    Se si usa un layout manager, è lui a stabilire posizione e dimensione dei componenti, secondo i suoi specifici criteri. GridLayout è un layout manager che usa dei criteri abbastanza semplici: suddivide l'area in un certo numero di righe/colonne, facendo in modo che tutti i componenti abbiano la stessa dimensione. È così ... non puoi cambiarlo. Se non vuoi usare questi criteri di layout, cambia layout manager o addirittura (ma è una cosa sconsigliabile a meno che ci siano necessità ben precise) togli il layout manager (setLayout(null)) e poi posiziona/dimensiona tutti i componenti con i vari metodi setLocation/setSize/setBounds.
    Tu che Layout mi consigli?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.