Tô botando um código e tenho algumas dúvidas sobre ele:
[code]import javax.swing.JFrame;
import java.awt.Color;
import javax.swing.JButton;
public class Janela extends JFrame {
private JButton btnOK ;
public Janela() {
//super("Janela Tela");
this.setTitle("Janela Tela");
this.getContentPane().setLayout(null);
this.setSize(340,220);
this.setLocationRelativeTo(null);
this.getContentPane().setBackground(Color.RED);
this.btnOK = new JButton("OK");
btnOK.setBounds(100,100,55,25);
this.getContentPane().add(btnOK);
}
public static void main(String[] args) {
Janela j = new Janela();
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setVisible(true);
}
}[/code]
Por que pode usar tanto o seTitle quanto o super?
//super("Janela Tela");
this.setTitle("Janela Tela");
Eu sei que esse this ai na frente não precisa pois está implicitamente, mas
ele se refere á quem, à JFrame. à Janela, ou quando ela é instanciada com JFrame J = new Janela(); ?
this.setTitle("Janela Tela");
O getContentPane() server para obter o painel que está a frente do JFrame?
this.getContentPane();
por que eu não posso adicionar um botão assim diretamente?
Vamos supor que meu Layout seja outro qualquer…
//this.add(btnOK);
É padrão usar todos os componentes como privados(eu sei o que quer dizer private ), porquê?
private JLabel l1;
Já me disseram que os parâmetros que estão ai (JFrame.EXIT_ON_CLOSE)
poderia ser um número, o EXIT_ON_CLOSE tem equivalência com algum número?
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Outra suposição, vamos supor que eu tenha esse código ai junto ao meu:
Esse this como parâmetro se refere á quem?
this.btnOK = new JButton("OK");
this.btnOK.addActionListener(this);
Vamos supor que minha Janela esteja implementando um ActionListener,
essa ordem de hierarquia,pois Janela herda de JFrame e implementa ActionListener, quem é pai de quem?
Eu ouvi falar que o this se refere á superclasse,e ntão esses this se referem por exemplo á JFrame?
Esse código aí, entendi mais ou menos, só que:
Esse (e) na frente do ActionEvent o que é e pra que server?
Eu sei o que faz o getSource, mas teóricamente o que el faz?
Porque foi usado a superclasse de todos aí e jogado o getSource nela?
public void actionPerformed(ActionEvent e){
Object o =e.getSource();
if (e.getSource().equals(btnOK)) {
System.out.println("Chamou....: OK");
new Janela().show();
}
else
if ( o.equals(btnCancel)){
System.out.println("Chamou....: CANCEL");
System.exit(0);
}
}
Eu acho que chega por enquanto! hehehe
Se alguém puder me ajudar, esses pequenos detalhes é que tá pegando.
Valeu!!!