Olá pessoal, eu estou com uma duvida um tanto básica, mas que está me incomodando. Meu pai me passou um código-fonte para colocar botões e caixas de texto, até ai tudo bem. Mas ele também pediu para colocar os botões no rodapé da interface e colocar campos de textos dos seguintes tipos: Nome, Endereço (Rua, bairro, cidade, CEP - um edit para cada), Fone Residencial. etc… E é ai que está o problema, pois não sei como fazer isso, será que alguém poderia me dar uma luz por favor. Vou postar o código - fonte que fiz até agora.
public class Estudo extends JFrame{
JTextField texto;
JButton novo;
JButton fim;
ImageIcon img;
JTextField texto2;
public Estudo() {
super(“Estudo Swing”);
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria o JTextField
img = new ImageIcon("C:/eclipse/eclipse32.gif");
texto = new JTextField(10);
novo = new JButton("Novo");
fim = new JButton("Fim",img);
texto2 = new JTextField(10);
novo.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,
"Fui clicado");
}
}
);
fim.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent i){
System.exit(0);
}
}
);
c.add(novo);
c.add(fim);
texto.setHorizontalAlignment(JTextField.LEFT);
texto2.setHorizontalAlignment(JTextField.LEFT);
c.add(texto);
c.add(texto2);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudo app = new Estudo();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}[/code]
Bom, antes de tudo, use o BorderLayout() para o seu formulário.
Depois, você pode criar um painel pro seu rodapé. Dentro deste painel, você coloca os botões que você quer dentro deste painel.
Algo como:
JPanel rodapePanel = new JPanel();
JButton firstButton = new JButton("Um botão");
rodapePanel.add(firstButton);
JButton secondButton = new JButton("Outro botão");
rodapePanel.add(secondButton);
Este painel com os botões você pode setar ao sul do formulário principal.
public class Estudos extends JFrame{
JTextField texto;
JButton novo;
JButton fecha;
JTextArea textArea;
ImageIcon img;
JPanel painel;
public Estudos() {
super(“Estudos Swing”);
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
img = new ImageIcon("C:/Lixo/MSN.GIF");
// Cria os componentes
painel = new JPanel();
this.add(painel, BorderLayout.SOUTH);
texto = new JTextField(10);
novo = new JButton("Novo");
painel.add(novo);
fecha = new JButton("Fechar",img);
painel.add(fecha);
textArea = new JTextArea(5,20);
novo.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e){
textArea.setText(e.getKeyCode() == KeyEvent.VK_ENTER ?
"Você pressionou Enter" : " Você não pressionou enter");
}
}
);
novo.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,
"Fui clicado");
}
}
);
fecha.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
);
//c.add(novo);
//c.add(fecha);
//c.add(textArea);
c.add(painel);
// alinha o texto à direita
texto.setHorizontalAlignment(JTextField.LEFT);
// para alinhar à esquerda use JTextField.LEFT
// para alinhar ao centro use JTextField.CENTER
// Adiciona o JTextField à janela
c.add(new JLabel("Novo:"));
c.add(texto);
setSize(800, 600);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}[/code]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudo extends JFrame{
JTextField texto;
JButton novo;
JButton fecha;
JTextArea textArea;
ImageIcon img;
JPanel painel;
public Estudo() {
super("Estudos Swing");
// Cria os componentes
painel = new JPanel();
texto = new JTextField(10);
novo = new JButton("Novo");
painel.add(novo);
fecha = new JButton("Fechar",img);
painel.add(fecha);
painel.add(novo);
painel.add(texto);
this.getContentPane().add(BorderLayout.SOUTH,painel);
// alinha o texto à direita
texto.setHorizontalAlignment(JTextField.LEFT);
// para alinhar à esquerda use JTextField.LEFT
// para alinhar ao centro use JTextField.CENTER
// Adiciona o JTextField à janela
novo.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e){
textArea.setText(e.getKeyCode() == KeyEvent.VK_ENTER ?
"Você pressionou Enter" : " Você não pressionou enter");
}
}
);
novo.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,
"Fui clicado");
}
}
);
fecha.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
);
setSize(800, 600);
setVisible(true);
}
public static void main(String args[]){
Estudo app = new Estudo();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}