Oi pessoal, estou tentando criar uma janela idêntica à da “Conexão Local” do Windows (img abaixo). Já adicionei o JTabbedPane, os JLabels, os JButtons e os JPanels. Porém, estou tendo dificuldade em organizar os controles dentro do primeiro tab/panel. Gostaria que alguém me ajudasse nisso.
No momento, minha janela está assim (note que os botões Propriedades e Desabilitar ficaram escondidos!):
Abaixo segue meu código:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
public class MainWindow extends JFrame {
public MainWindow(String title)
{
super(title);
setLayout(new FlowLayout());
// TabbedPane
JTabbedPane tabpane = new JTabbedPane(JTabbedPane.TOP);
JPanel panelGeral = new JPanel();
panelGeral.setPreferredSize(new Dimension(350,300));
JPanel panelSuporte = new JPanel();
panelSuporte.setPreferredSize(new Dimension(350,300));
tabpane.addTab("Geral", panelGeral);
tabpane.addTab("Suporte", panelSuporte);
// Panel/GroupBox: Conexão
JPanel panelConn = new JPanel(new GridLayout(3,2));
panelConn.setBorder(BorderFactory.createTitledBorder("Conexão"));
panelConn.setPreferredSize(new Dimension(340,150));
JLabel lblStatusFixed = new JLabel("Status:");
JLabel lblDuracaoFixed = new JLabel("Duração:");
JLabel lblVelocidadeFixed = new JLabel("Velocidade:");
JLabel lblStatus = new JLabel("Conectado");
JLabel lblDuracao = new JLabel("00:00:00");
JLabel lblVelocidade = new JLabel("100,00 Mbps:");
panelConn.add(lblStatusFixed);
panelConn.add(lblStatus);
panelConn.add(lblDuracaoFixed);
panelConn.add(lblDuracao);
panelConn.add(lblVelocidadeFixed);
panelConn.add(lblVelocidade);
// Panel/GroupBox: Atividade
JPanel panelAtividade = new JPanel();
panelAtividade.setBorder(BorderFactory.createTitledBorder("Atividade"));
panelAtividade.setPreferredSize(new Dimension(340, 150));
JLabel lblEnviadosFixed = new JLabel("Enviados");
JLabel lblEnviados = new JLabel("0 bytes");
JLabel lblRecebidosFixed = new JLabel("Recebidos");
JLabel lblRecebidos = new JLabel("0 bytes");
panelAtividade.add(lblEnviadosFixed);
panelAtividade.add(lblEnviados);
panelAtividade.add(lblRecebidosFixed);
panelAtividade.add(lblRecebidos);
// Botões: Propriedades e Desabilitar
JButton btnPropriedades = new JButton("Propriedades");
JButton btnDesabilitar = new JButton("Desabilitar");
// Adiciona os componentes do panel Geral
panelGeral.add(panelConn, BorderLayout.NORTH);
panelGeral.add(panelAtividade, BorderLayout.CENTER);
panelGeral.add(btnPropriedades, BorderLayout.SOUTH);
panelGeral.add(btnDesabilitar, BorderLayout.AFTER_LINE_ENDS);
getContentPane().add(tabpane);
JButton btnFechar = new JButton("Fechar");
getContentPane().add(btnFechar);
pack();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(370,440);
setVisible(true);
}
public static void main(String[] args) {
MainWindow mw = new MainWindow("Status de Conexão local");
}
}