[resolvido]resize, repaint... como aumentar o tamanho do jframe?

Aezz pessoal, pesquisei no forum, na sun mas ainda nao consegui aumentar o jframe atraves do actionevent em um botao.

resize + repaint.
repaint(0,0,500,400);
nao funcionaram.

postem algumas alternativas. T+

[quote=O_M3_]Aezz pessoal, pesquisei no forum, na sun mas ainda nao consegui aumentar o jframe atraves do actionevent em um botao.

resize + repaint.
repaint(0,0,500,400);
nao funcionaram.

postem algumas alternativas. T+[/quote]
Se eu entendi bem você tem que colocar o seu “ouvinte de eventos” como uma classe interna (anonima ou não) e “amarrar o ouvinte” para ouvir eventos do botão. Ah jah ai me esquecendo, colocar no corpo do método que trata os eventos isso:

setSize( a, b ); // a e b são os dimensões do JFrame

Era isso O_M3_?¿

Veja, eu criei o jframe dentro do metodo constructor:

[code]public class memoria extends JFrame implements ActionListener{
private JButton abrir, reiniciar, bfacil, bmedio, mnivel;
private JFrame frame;
private JPanel panel, panelOpcoes, panelNivel, panelSuperior;

memoria(){
frame = new JFrame();
frame.setLayout(null);
Container cn=frame.getContentPane();
// cn.setBackground(new java.awt.Color(0,204,255));
cn.setBackground(new java.awt.Color(0,204,255));
// frame.setBackground(new java.awt.Color(0,204,255));
frame.isOpaque();
frame.setTitle(“Jogo da Memória - Beta”);
frame.setSize(575,500);
//----
///------
panelOpcoes=new JPanel();
panelOpcoes.setBackground(new java.awt.Color(0,204,255));
panelOpcoes.setOpaque(true);
panelOpcoes.setLayout(null);
panelOpcoes.setBounds(0,10,200,30);
panelOpcoes.setVisible(true);
frame.add(panelOpcoes);
////////

    abrir=new JButton("abrir");
    abrir.setName("abrir");
    abrir.setBounds(5,0,80,28);
    abrir.addActionListener(this);
    panelOpcoes.add(abrir);
           
     JFrame.setDefaultLookAndFeelDecorated(true);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//////////
if(e.getSource().equals(abrir)){
frame.setSize(frame.getWidth(),600);
//ou frame.resize(frame.getWidth(),600);

         frame.repaint();

}
}[/code]

Ao clicar em abrir gostaria que redimenssionasse.

ja usou um .pack() no hora de redimensionar ?? ou tem que ser um tamanho definido ?

é, precisa ser tamanho especifico.

Então tenta assim…

da um repaint e em seguida, da o setSize…e repaint denovo…

Olá zopo, foi o que eu tentei fazer e ate postei acima o codigo.
;S

Cara eh que hoje, to meio puxado…

Mas se ngm responder até amanhã a noite… eu coloco um código aqui com um que funcione !

ok, mas se tiver um tempo ainda hj, dar uma força postando. Me encalhei nessa parte.

Abraço

Ai…consegui fazer aqui rapidinho…da uma olhada…só colar e compilar…

Frame.java

[code]
import javax.swing.;
import java.awt.event.
;
import java.awt.*;

public class Frame extends JFrame
{
JInternalFrame frame;
public Frame()
{
super( “Exemplo de Frames Internos” );
JMenuBar barra = new JMenuBar();
JMenu adicionar = new JMenu( “Adicionar” );
JMenuItem janela = new JMenuItem( “Frame Interno” );

	adicionar.add( janela );
	barra.add( adicionar );
	setJMenuBar( barra );

	final JDesktopPane desk = new JDesktopPane();
	getContentPane().add( desk );

	janela.addActionListener( new ActionListener() {// encurta o código e cria uma classe anonima
		public void actionPerformed( ActionEvent e )
		{//                          Paramenros -    ("Titulo", Redimensionar, Feha, Minimizar, Maximiza);
			frame = new JInternalFrame( "Janela Interna", true, true, true, true );
			
			Container cont = frame.getContentPane();
			cont.setLayout( new BorderLayout() );
			
			JPanel panel=new JPanel();
			panel.setLayout(new FlowLayout());
			
			JButton botao=new JButton (">>> Preencher <<<");
				botao.addActionListener( new ActionListener() {
					public void actionPerformed( ActionEvent e ){	
						frame.setSize( 500, 400 );
					}
			});
			
			panel.add(botao);
			cont.add(panel, BorderLayout.CENTER);
			frame.setResizable(true);
			frame.setVisible( true );
			//MeuFrame painel = new MeuFrame();
			frame.setSize( 250, 250 );
			frame.setOpaque( true );//Transparência
			desk.add( frame );
		}
	}
	);

	setSize( 500, 400 );
	this.setVisible(true);
}

public static void main( String a[] )
{
	Frame in = new Frame();

	in.addWindowListener( new WindowAdapter() {
		public void windowClosing( WindowEvent e )
		{
			System.exit( 0 );
		}
	}
	);
}

}[/code]

Esse exemplo funcionou perfeito com o JInternalFrame, porem nao faz o mesmo para redimensionar o JFrame. Obrigado pelas tentativas zopo, continuo aqui tentando, qualquer coisa diz aí

resolvi…
if(e.getSource().equals(abrir)){
frame.setSize(frame.getWidth(),600);
frame.repaint();
}