Ah, eu nao me preocupei em sair, já que estou usando o Eclipse. Aí eu terminava por ele. Mas se vc kiser que ele saia, use o método setDefaultCloseOperation e coloque EXIT_ON_CLOSE…
Ficaria algo assim?:
private void jButton_SimActionPerformed(java.awt.event.ActionEvent evt) {
setDefaultCloseOperation;
}
[quote=Cattus]Ficaria algo assim?:
private void jButton_SimActionPerformed(java.awt.event.ActionEvent evt) {
setDefaultCloseOperation;
}
[/quote]
Olha Fiz um exemplo às pressa e sem IDE se não funcionar pelo menos vai te dar uma idéia de como é o funcionamento do Listener. Caso vc queira adicionar vários botões e ações em uma mesma classe é só alterar a herança para uma classe genérica “Object”, isto é, não usar o extends.
De qualquer forma o interessante é entender e qualquer coisa é so dar um grito
!!!
public class Botao extends JButton implements ActionListener{
JFrame content = null;
public Botao(JFrame cont){
super("Detona");
this.addActionListener(this); // Como implemento ActionListener então essa classe herda
this.setSize(60, 30);
this.setVisible(true);
content = cont;
}
//**********Aqui digo pro nosso amiguinho fechar a janela enviada em sua criação como parâmetro
public void actionPerformed(ActionEvent e) {
if(e.getSource() == this){
content.dispose();
}
}
}
Um Grande Abraço!!!
o que é o detona?
super("Detona");
[quote=Cattus]o que é o detona?
super("Detona");
Estou passando um parâmetro para o construtor da Classe que foi extendida nessa situação não vem ao caso, só coloquei para colocar alguma coisa mesmo
…
O fato é que como estou herdando JButon, para acessar seu construtor eu utilizo o método super(); que deve ser a primeira coisa a se colocar no código. Depende de como vc implementa isso.
De resto vc conseguiu entender e implementar?
Um grande Abraço!!!
Entendi mais ou menos…
fiz assim…
ainda da dois erros…
valeu a ajuda…´
[code]/*
- Sair.java
- Created on 18 de Dezembro de 2008, 15:30
*/
package Gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
*
-
@author Daniela
*/
public class Sair extends javax.swing.JFrame {
private Object frame;/** Creates new form Sair */
public Sair() {
initComponents();
}/** This method is called from within the constructor to
- initialize the form.
- WARNING: Do NOT modify this code. The content of this method is
- always regenerated by the Form Editor.
*/
public class Botao extends Sair implements ActionListener{
Sair content = null;
public Botao(Sair cont){
super( );
this.addActionListener(this); // Como implemento ActionListener então essa classe herda
this.setSize(60, 30);
this.setVisible(true);content = cont;
}
//**********Aqui digo pro nosso amiguinho fechar a janela enviada em sua criação como parâmetro
public void actionPerformed(ActionEvent e) {
if(e.getSource() == this){
content.dispose();
}
}
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
private void addActionListener(Botao aThis) {
throw new UnsupportedOperationException("Not yet implemented");
}
}
public class Botao extends Sair implements ActionListener{
Sair content = null;
public Botao(Sair cont){
super("Detona");
this.addActionListener(this); // Como implemento ActionListener então essa classe herda
this.setSize(60, 30);
this.setVisible(true);
content = cont;
}
//**********Aqui digo pro nosso amiguinho fechar a janela enviada em sua criação como parâmetro
public void actionPerformed(ActionEvent e) {
if(e.getSource() == this){
content.dispose();
}
}
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel_SairAplicacao = new javax.swing.JPanel();
jPretendeSair = new javax.swing.JLabel();
jButton_Sim = new javax.swing.JButton();
jButton_Nao = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel_SairAplicacao.setBackground(new java.awt.Color(235, 235, 242));
jPanel_SairAplicacao.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jPretendeSair.setFont(new java.awt.Font("Berlin Sans FB Demi", 0, 14));
jPretendeSair.setForeground(new java.awt.Color(0, 0, 102));
jPretendeSair.setText("Pretende mesmo sair da aplicação?");
jButton_Sim.setFont(new java.awt.Font("Berlin Sans FB Demi", 0, 12)); // NOI18N
jButton_Sim.setForeground(new java.awt.Color(0, 0, 112));
jButton_Sim.setText("Sim");
jButton_Sim.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_SimActionPerformed(evt);
}
});
jButton_Nao.setFont(new java.awt.Font("Berlin Sans FB Demi", 0, 12));
jButton_Nao.setForeground(new java.awt.Color(0, 0, 112));
jButton_Nao.setText("Não");
javax.swing.GroupLayout jPanel_SairAplicacaoLayout = new javax.swing.GroupLayout(jPanel_SairAplicacao);
jPanel_SairAplicacao.setLayout(jPanel_SairAplicacaoLayout);
jPanel_SairAplicacaoLayout.setHorizontalGroup(
jPanel_SairAplicacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel_SairAplicacaoLayout.createSequentialGroup()
.addGroup(jPanel_SairAplicacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel_SairAplicacaoLayout.createSequentialGroup()
.addGap(59, 59, 59)
.addComponent(jPretendeSair))
.addGroup(jPanel_SairAplicacaoLayout.createSequentialGroup()
.addGap(76, 76, 76)
.addComponent(jButton_Sim)
.addGap(66, 66, 66)
.addComponent(jButton_Nao)))
.addContainerGap(120, Short.MAX_VALUE))
);
jPanel_SairAplicacaoLayout.setVerticalGroup(
jPanel_SairAplicacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel_SairAplicacaoLayout.createSequentialGroup()
.addGap(64, 64, 64)
.addComponent(jPretendeSair)
.addGap(65, 65, 65)
.addGroup(jPanel_SairAplicacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton_Nao)
.addComponent(jButton_Sim))
.addContainerGap(130, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel_SairAplicacao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel_SairAplicacao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void jButton_SimActionPerformed(java.awt.event.ActionEvent evt) {
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Sair().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton_Nao;
private javax.swing.JButton jButton_Sim;
private javax.swing.JPanel jPanel_SairAplicacao;
private javax.swing.JLabel jPretendeSair;
// End of variables declaration
}[/code]
humm…
os erros nao apareceram…
aparecem sublinhados a vermelho…
localizam-se nas linhas: 53 e 62;
sera que consegue descobrir o pk…?
[code]public class JanelaEfetuar extends JFrame {
public JanelaEfetuar(JanelaFeito janelaFeito) throws HeadlessException {
super(“Efetuar”);
this.janelaFeito = janelaFeito;
textField=new JTextField();
botao=new JButton(“inserir”);
adicionarAcao();
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(botao,BorderLayout.SOUTH);
this.getContentPane().add(textField,BorderLayout.CENTER);
}
private void adicionarAcao(){
botao.addActionListener(new AcaoInserirEFechar(this, janelaFeito));
}
private JTextField textField;
private JButton botao;
private JanelaFeito janelaFeito;
public String getText() {
return textField.getText();
}
}
[/code]
[code]public class AcaoInserirEFechar implements ActionListener {
public AcaoInserirEFechar(JanelaEfetuar janelaEfetuar,
JanelaFeito janelaFeito) {
super();
this.janelaEfetuar = janelaEfetuar;
this.janelaFeito = janelaFeito;
}
private JanelaEfetuar janelaEfetuar;
private JanelaFeito janelaFeito;
@Override
public void actionPerformed(ActionEvent e) {
janelaFeito.adicionarTexto(janelaEfetuar.getText());
janelaEfetuar.dispose();
}
}[/code]
Acho que vc está precisando estudar um pouco mais amigo…
Eu nao aprendi java na escola… o pouco que sei fui vendo sozinha…
a cadeira é desenho de interfaces, e o objectivo era criar um projecto. e po-lo funcional…
o problema é que o professor só nos deu um monte de tutorials, que nao explicou, so disse pa ver mos…
enfim…
Bem… neste momento to confusa, a resposta que me deu agora tem a ver com o que?
me desculpe…
:oops:
Não precisa pedir desculpa, só te dei um toque pra estudar mais o básico antes de ir querendo fazer tudo. Um bom caminho para aprender sobre Swing é dar uma lida no Deitel. Mas enfim, mexi na classe JanelaEfetuar e criei um novo Listener AcaoInserirEFechar para fazer o que vc quer, inserir o texte em um text field e depois fechar a propria janela. Dê uma olhada no exemplo e ve o que vc consegue fazer. Ah, eu aprendi pouco coisa na facu tb, a maior parte aprendi lendo livros e pequisando aqui na net…
podem ver se aquilo que resp ao neoCortex que é o codigo longo que tem dois erros, um na linha 53 e outro na linha 62 está correcto… e como fazer pa ficar 100%bem…
já não consigo ver muito mais disto… ja sao 3h da manha… e amanha tenho aulas cedo…
e é a entrega…
Valeu por tudo
Boas!
ja consegui sair da aplicação…
afinal era so ir ao codigo do botao para sair e introduzir: System.exit(0);
Obrigado na mesma pelas dicas
ate a proxima…