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+
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();
}