Procurar
Últimos assuntos
Quem está conectado?
Há 2 usuários online :: 0 registrados, 0 invisíveis e 2 visitantes Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 192 em Ter Out 26, 2021 6:07 am
Formulario usando GroupLayout
Página 1 de 1
Formulario usando GroupLayout
- Código:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
* @see http://stackoverflow.com/questions/8492065
*/
public class FormularioGroupLayout extends JPanel {
//textolabel
private JLabel TextoNome = new JLabel("Nome:");
private JLabel TextoEndereco = new JLabel("Endereço:");
private JLabel TextoTelefone = new JLabel("Telefone:");
//caixadetexto
private JTextField CampoNome = new JTextField(50);
private JTextField CampoEndereco = new JTextField( 50);
private JTextField CampoTelefone = new JTextField(50);
//botaosalva
private JButton salva = new JButton("salva");
public FormularioGroupLayout() {
this.setBorder(BorderFactory.createTitledBorder("Campo Formulario"));
GroupLayout layout = new GroupLayout(this);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
this.setLayout(layout);
//alinhamento horizontal
layout.setHorizontalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING)
.addComponent(TextoNome)
.addComponent(TextoEndereco)
.addComponent(TextoTelefone))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER)
.addComponent(CampoNome)
.addComponent(CampoEndereco)
.addComponent(CampoTelefone)
.addComponent(salva))
);
//.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
//.addComponent(salva)));
//alinhamento vertical
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(TextoNome)
.addComponent(CampoNome))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(TextoEndereco)
.addComponent(CampoEndereco))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(TextoTelefone)
.addComponent(CampoTelefone))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING)
.addComponent(salva))
);
//acao no botao salvar
Manipuladores acao = new Manipuladores();
salva.addActionListener(acao); //adiciona ele a açao
}
//manipuladores
public class Manipuladores implements ActionListener {
@Override
public void actionPerformed(ActionEvent evt) {
String string = "Dados Cadastrados:" + "\nNome: " + CampoNome.getText()
+ "\nEndereço: " + CampoEndereco.getText()
+ "\nTelefone: " + CampoTelefone.getText(); //declara uma string a exibida
//exibe evento
JOptionPane.showMessageDialog(null, string);
}
}
//
private static void display() {
JFrame tela = new JFrame("FORMULARIO 666");
tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tela.setLayout(new BoxLayout(tela.getContentPane(), BoxLayout.X_AXIS));
tela.add(new FormularioGroupLayout());
tela.add(Box.createVerticalGlue());
tela.pack();
tela.setLocationRelativeTo(null);
tela.setVisible(true);
}
public static void main(String[] args) {
/*EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
display();
}
});*/
display();
}
}
Última edição por juk em Dom Set 08, 2013 5:45 pm, editado 2 vez(es)
juk- Mensagens : 262
Data de inscrição : 02/04/2012
Outro exemplo de formulario em grouplayout
- Código:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class group {
//textolabel
private JLabel TextoNome = new JLabel("Nome:");
private JLabel TextoEndereco = new JLabel("Endereço:");
private JLabel TextoTelefone = new JLabel("Telefone:");
//caixadetexto
private JTextField CampoNome = new JTextField(50);
private JTextField CampoEndereco = new JTextField(50);
private JTextField CampoTelefone = new JTextField(50);
//botaosalva
private JButton salva = new JButton("salva");
public group() {
JPanel painel = new JPanel();
GroupLayout layout = new GroupLayout(painel);
painel.setBorder(BorderFactory.createTitledBorder("Campo Formulario"));
painel.setLayout(layout);
// Ligue adicionando automaticamente as lacunas entre os componentes
layout.setAutoCreateGaps(true);
//Ligar automaticamente criando lacunas entre os componentes que tocam
// A borda do recipiente e o recipiente.
layout.setAutoCreateContainerGaps(true);
// Create a sequential group for the horizontal axis.
GroupLayout.SequentialGroup hGroup = layout.createSequentialGroup();
//alinhamento horizontal do grupo
hGroup.addGroup(layout.createParallelGroup().addComponent(TextoNome).addComponent(TextoEndereco).addComponent(TextoTelefone));
hGroup.addGroup(layout.createParallelGroup().addComponent(CampoNome).addComponent(CampoEndereco).addComponent(CampoTelefone).addComponent(salva));
layout.setHorizontalGroup(hGroup);
// Create a sequential group for the vertical axis.
GroupLayout.SequentialGroup vGroup = layout.createSequentialGroup();
// The sequential group contains two parallel groups that align
// the contents along the baseline. The first parallel group contains
// the first label and text field, and the second parallel group contains
// the second label and text field. By using a sequential group
// the labels and text fields are positioned vertically after one another.
//alinhamento vertical paralero do grupo
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).addComponent(TextoNome).addComponent(CampoNome));
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).addComponent(TextoEndereco).addComponent(CampoEndereco));
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).addComponent(TextoTelefone).addComponent(CampoTelefone));
vGroup.addGroup(layout.createParallelGroup(Alignment.CENTER).addComponent(salva));
layout.setVerticalGroup(vGroup);
}
//manipuladores
public class Manipuladores implements ActionListener {
@Override
public void actionPerformed(ActionEvent evt) {
String string = "Dados Cadastrados:" + "\nNome: " + CampoNome.getText()
+ "\nEndereço: " + CampoEndereco.getText()
+ "\nTelefone: " + CampoTelefone.getText(); //declara uma string a exibida
//exibe evento
JOptionPane.showMessageDialog(null, string);
}
}
private static void display() {
JFrame frame = new JFrame("Forumulario");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// frame.add(panel);
frame.add(new FormularioGroupLayout());
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
display();
}
}
juk- Mensagens : 262
Data de inscrição : 02/04/2012
Tópicos semelhantes
» Limpando todos TextField e TextArea de um Formulario
» Usando Genymotion
» Criando e Usando bibliotecas em C - GNU/Linux e gcc
» Sequência de Fibonacci ( usando recursividade e ponteiro)
» Usando o Monitor de Recursos do sistema para identificar processos Associados.
» Usando Genymotion
» Criando e Usando bibliotecas em C - GNU/Linux e gcc
» Sequência de Fibonacci ( usando recursividade e ponteiro)
» Usando o Monitor de Recursos do sistema para identificar processos Associados.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Seg Jan 02, 2023 2:13 pm por juk
» Cypecad 2019
Seg Jan 02, 2023 1:41 pm por juk
» Atualizando é instalando o IExplorer 11 no windows 7
Ter Ago 30, 2022 10:54 pm por juk
» COMO HABILITAR INTERNET EXPLORER NO WINDOWS 10
Sex Abr 29, 2022 6:43 pm por juk
» Usando o Monitor de Recursos do sistema para identificar processos Associados.
Qua Abr 06, 2022 10:19 am por juk
» Fazendo backup do anydesk
Ter Abr 05, 2022 7:30 pm por juk
» Recuperando Favoritos, senhas apos formatar o navegador (Mozilla Firefox ou Chrome)
Ter Abr 05, 2022 7:28 pm por juk
» Comando para tentar recuperar o windows
Qua Out 27, 2021 5:52 pm por juk
» NGROK para divulgação de site remoto
Ter Set 29, 2020 9:40 am por juk