Olá a todos,
Estou tentando criar uma interface com um grid 3x3, que faça o seguinte:
Na primeira linha, tenha uma área de texto que ocupe 2 colunas, e uma lista de participantes que ocupe a última coluna
Na segunda linha, um TextField para mensagem, um label, e um botão (cada um, ocupando uma coluna)
E na terceira linha, um TextField que ocupe 2 colunas, e um botão ocupando a última coluna.
Utilizei o tutorial aqui do GUJ sobre GridBagLayout, mas o comportamento da aplicação não está obedecendo aos comandos (utilizo Java 1.5).
Será que alguém sabe o problema que pode estar acontecendo? Anexo o código abaixo!
Muito obrigado a todos!
Obs: Na visualização aqui, o código fonte apareceu todo sem formatação de identação, mesmo eu tendo o colocado entre as tags de código (tenho certeza que ele está inserido corretamente).
import javax.swing.*;
import java.awt.*;
public class TesteInterface extends JFrame {
public TesteInterface()
{
super("Teste (Servidor)");
JPanel panelChat = new JPanel();
JTextField fieldChat1 = new JTextField(); // Caixa de mensagens do chat
JTextField fieldChat2 = new JTextField(); // Lista de participantes
JTextField fieldChat3 = new JTextField(); // Box de mensagem normal
JTextField fieldChat4 = new JTextField(); // Box de mensagem urgente
JLabel labelChat1 = new JLabel("Para quem");// Combo de destino da mensagem
JButton buttonChatSend = new JButton("Enviar");
JButton buttonChatUrgentSend = new JButton("Urgente");
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
panelChat.setLayout(layout);
c.fill = GridBagConstraints.BOTH;
c.gridy = 0; // primeira linha
c.gridx = 0; // primeira coluna
c.weightx = 1;
c.gridwidth = 2; // Ocupar duas colunas
layout.setConstraints(fieldChat1, c);
panelChat.add(fieldChat1);
c.gridy = 0;
c.gridx = 2;
layout.setConstraints(fieldChat2, c);
panelChat.add(fieldChat2);
c.gridy = 1;
c.gridx = 0;
layout.setConstraints(fieldChat3, c);
panelChat.add(fieldChat3);
c.gridy = 1;
c.gridx = 1;
layout.setConstraints(labelChat1, c);
panelChat.add(labelChat1);
c.gridy = 1;
c.gridx = 2;
layout.setConstraints(buttonChatSend, c);
panelChat.add(buttonChatSend);
c.gridy = 2;
c.gridx = 0;
c.gridwidth = 2; // Ocupar duas colunas
layout.setConstraints(fieldChat4, c);
panelChat.add(fieldChat4);
c.gridy = 2;
c.gridx = 2;
layout.setConstraints(buttonChatUrgentSend, c);
panelChat.add(buttonChatUrgentSend);
getContentPane().add(panelChat);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setSize(800, 600);
setVisible(true);
}
public static void main(String[] args)
{
TesteInterface ti = new TesteInterface();
}
}