perche quando compilo questo codice mi crea una applicazione con un pulsante (l'ultimo che aggiungo!!!) grande quanto tutta la finestra?
grazie....
perche quando compilo questo codice mi crea una applicazione con un pulsante (l'ultimo che aggiungo!!!) grande quanto tutta la finestra?
grazie....
import java.awt.*;
import java.awt.event.*;
public class Primo {
ECCO IL CODICE
Frame h;
private Button k,l;
private TextField j;
public Primo() {
h=new Frame();
h.setSize(300,200);
h.setLocation(100,200);
k=new Button("Guardami");
l=new Button("ciao");
h.add(k);
h.add(l);
h.show();
}
public static void main (String [] arg) {
Primo k=new Primo();}
}
h.add(k);
h.add(l);
In questo modo viene inserito l'ultimo componente.
Per avere un effetto diverso devi scrivere
h.add(k,BorderLayout.NORTH);
h.add(l,BorderLayout.CENTER);
perchè su ogni Frame viene usato un layout e quello di default è il BorderLayout che è composto da 5 settori "NORTH","SOUTH","EAST","OVEST","CENTER"
se non specifichi nulla il compilatore intende h.add(k,"CENTER");
Esistono molti altri Layout , GridBagLayout , ... ognuno dei quali ha delle funzionalità diverse.
Cmq usa le swing al posto delle awt . Hanno funzionalità maggiori.
Ciauz
Lang=Java
Ambiente = Eclipse forever
Ubuntu & Win XP Pro
grazie, ma come faccio a fare in modo che il pulsante non occupi tatta la parte "CENTER" per esempio?
grazie
nella zona center ci metti un pannello, magari FlowLayout e dentro il pannello ci metti il pulsante
Oppure imposti tutto il frame principale con un GridLayout o un
GridBagLayout .
Il secondo è molto più flessibile e puoi impostarlo come vuoi
Lang=Java
Ambiente = Eclipse forever
Ubuntu & Win XP Pro