Olá, sou iniciante em programação java, bem iniciante mesmo, estou tentando fazer um frame com um botão que feche,mas naum estou me dando muito bem, alguém poderia me dar uma dica? Tipo, onde eu mando criar o objeto e ativo a opção “fechar”, que é o que eu quero que o botão faça? Desde já agradeço.
Problema com botão
12 Respostas
Blz, adicione o botão no JFrme e coloque o evento:
JPanel pn= new JPanel();
pn.add(botão);
.....
botao.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(1);
}
});
Obrigado.Vou ver aki.
Dependendo da sua aplicação, pra não deixar ela ocupando memória mesmo depois de fechada, coloque no código um “this.dispose()”;
Sim não se esqueça no Main
meuFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
é isso mesmo FelipeSS…foi mal.
O meu botão tah ficando do tamanho do frame, como eu faço pra dimensionar ele como eu preciso??? :sad:
é simples Barcelos....
primeiro sete seu panel com Layout = null para você inserir os componentes onde desejar.
MeuPanel.setLayout(null);
agora em cada componente, você deve setar sua localização
//Desta forma
//Todas estas variáveis são do tipo int
//COL=Coluna | LIN=Linha | COM=comprimento | ALT=altura
Botao.setBounds( COL, LIN, COM, ALT );
//ou desta outra forma
Botao.setLocation( COL , LIN );
Botao.setSize( COM , ALT );
Abraço,
Fábio Heleno
Eu pus assim:
“getContentPane().setLayout(new GridLayout(13,10))”
E jah pus o botão, mas quero dimensionar ele, se eu ponho o layout coomo “null” naum aparecem os outros dados, ou caso eu ponha null todos os outros campos devem ser setados em separado???
Exatamente!
Se você setar como NULL, todos os Componentes devem ter suas posições e tamanhos ajustados, desta forma é mais flexivel você alocar seus itens onde melhor desejar.
Basta usar…
.setBounds(posicaoColuna,posicaoLinha,tamanhoComprimento,tamanhoAltura)
Faça isto para todo item que for adicionar na tela.
:lol: :lol:
Para você ter uma noção melhor do que eu falei, fiz este exemplo para melhor visualizar. :razz:
package com.br.portaljava;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class janela extends JFrame {
JPanel painel;
JButton OK;
JButton Sair;
JTextField nomeDoPortal;
JTextField nomeDoUsuario;
JLabel labelResposta;
public static void main(String[] args) {
new janela().setVisible(true);
}
public janela() {
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(295, 150);
this.setLocation(350,300);
this.setTitle("JFrame");
nomeDoPortal = new JTextField("www.portaljava.com.br");
nomeDoPortal.setBounds(120, 20, 155, 22);
nomeDoUsuario = new JTextField("FaHeCoN");
nomeDoUsuario.setBounds(120, 75, 155, 22);
OK = new JButton("OK");
OK.setBounds(15, 20, 88, 22);
OK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
painel.removeAll();
PainelResposta(nomeDoUsuario.getText(), nomeDoPortal.getText());
painel.repaint();
}
});
Sair = new JButton("Sair");
Sair.setBounds(15, 75, 90, 22);
Sair.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
painel = new JPanel();
painel.setLayout(null);
painel.add( nomeDoPortal );
painel.add( nomeDoUsuario );
painel.add( OK );
painel.add( Sair );
add( painel );
}
public void PainelResposta(String Usuario, String Portal){
String strResultado = "<html><font size=3 color=444444 font=Tahoma><strong>";
strResultado += "<font size=4 color=000000>Olá " + Usuario + "!</font></strong><br><br>";
strResultado += "O " + Portal + " é a melhor escolha que você poderia ter";
strResultado += "feito para participar! :)";
strResultado += "</font</html>";
labelResposta = new JLabel( strResultado );
labelResposta.setBounds(21, 16, 244, 83);
labelResposta.setHorizontalAlignment(SwingConstants.LEFT);
labelResposta.setHorizontalTextPosition(SwingConstants.LEFT);
labelResposta.setPreferredSize(new Dimension(224,83));
labelResposta.setVerticalAlignment(SwingConstants.TOP);
painel.add(labelResposta);
}
}
Abraço,
Fábio Heleno
Blz, vou ver aki, obrigado pela ajuda.
[ ]'s
Tranquilo! :razz:
Todos aqui estamos para ajudar e sermos ajudados. :joia:
Abraço,
Fábio Heleno