Maximizar Frame y sus componentes

Poppy
16 de Octubre del 2003
¿Que instrucciones debo escribir para que cuando de al boton de maximizar en un frame, se redimensionen los componentes que estan en dicho frame? Gracias

Jaime
16 de Octubre del 2003
Prueba esto, no está acabado pero te haras una idea, de por donde van los tiros. Prueba maximizarlo:

import java.awt.*;
import java.awt.event.*;

public class Marco extends Frame implements ActionListener {
Button [] b = new Button[9];
Font fuente = new Font("Dialog",Font.PLAIN,20);
int cont = 0;
boolean ganador = false;

public Marco() {
super("Three in Line");
this.setBounds(200,650,180,180);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
System.exit(0);
}
});
this.setLayout(new BorderLayout());
this.add(new Label("Tres en raya"),BorderLayout.NORTH);
Panel p = new Panel(new GridLayout(3,3)); //pondra los botones
this.add(p,BorderLayout.CENTER); // 1 2 3
// 4 5 6
// 7 8 9
for(int i= 0; i<9;i++){
b[i] = new Button(" ");
p.add(b[i]);
b[i].addActionListener(this);
}
this.setFont(fuente);
}


public static void main(String[] args){
Marco v= new Marco();
v.show();
}

public void inicializa() {
for(int x= 0; x<9; x++) b[x].setLabel(" ");
cont= 0;
}


public void actionPerformed(ActionEvent evt){
for(int x=0; x<9;x++){
if(evt.getSource() == b[x]){
if((cont%2) == 0) b[x].setLabel("X");
else b[x].setLabel("O");
cont++;
if(cont>4){
comprobar();
if(ganador == true) inicializa();
}
}
}
}

public void comprobar() {
ganador = false;
//////// COMPROBAMOS LAS POSIBILIDADES PARTIENDO DE LA PRIMERA CASILLA

//linea horizontal de arriba
if (b[0].getLabel() == b[1].getLabel() && b[0].getLabel() == b[2].getLabel() && b[0].getLabel() != " ") { // J J J
// - - -
ganador = true; // - - -

}
else{
//no es la linea horizontal de arriba entonces miramos diagonal desde posicion 1
if (b[0].getLabel() == b[4].getLabel() && b[0].getLabel() == b[8].getLabel() && b[0].getLabel() != " ") { // J - -
// - J -
ganador = true; // - - J

}
else{
//no es ni la linea de arriba ni la diagonal miramos la vertical
if(b[0].getLabel() == b[3].getLabel() && b[0].getLabel() == b[6].getLabel() && b[0].getLabel() != " "){ // J - -
// J - -
ganador = true; // J - -

}
}

}

//////// COMPROBAMOS LAS POSIBILIDADES PARTIENDO DE LA CUARTA CASILLA

if (b[3].getLabel() == b[4].getLabel() && b[3].getLabel() == b[5].getLabel() && b[3].getLabel() != " "){ // - - -
// J J J
ganador = true; // - - -

}


//////// COMPROBAMOS LAS POSIBILIDADES PARTIENDO DE LA SEPTIMA CASILLA

if (b[6].getLabel() == b[7].getLabel() && b[6].getLabel() == b[8].getLabel() && b[6].getLabel() != " "){ // - - -
// - - -
ganador = true; // J J J
}
else{
//miramos diagonal empezando desde la septima casilla
if(b[6].getLabel() == b[4].getLabel() && b[6].getLabel() == b[2].getLabel() && b[6].getLabel() != " "){ // - - J
ganador = true; // - J -
// J - -
}
}

//////// COMPROBAMOS LAS POSIBILIDADES PARTIENDO DE LA TERCERA CASILLA

if(b[2].getLabel() == b[5].getLabel() && b[5].getLabel() == b[8].getLabel() && b[2].getLabel() != " "){ // - - J
// - - J
ganador = true; // - - J
}
}


}