Como alinhar os checkbox

2 respostas
A

Eu consegui baseado em um exemplo que eu baixei na internet fazer o meu primeiro código fonte em java é um exemplo bem primata mesmo mas como eu não sei quase nada ja estou com algumas duvidas nele.
O exemplo abaixo cria um formulário com o nome de alguns cursos e o sexo do aluno, como faço para que os Checkbox referentes ao curso saia em uma coluna e os Checkbox referentes ao Sexo do aluno saia em outra coluna

Curso Aluno

O código é este ai.

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.*;

public class ExCheckBox extends JFrame {

private JCheckBox jCheckBoxC01,jCheckBoxC02,jCheckBoxC03,jCheckBoxC04,jCheckBoxC05,

jCheckBoxS01,jCheckBoxS02,jCheckBoxS03,jCheckBoxS04,jCheckBoxS05;

private JTextField tFteste;

private JButton btOk;

private Container janela;

public ExCheckBox()    {

super(Exemplo CheckBox);

setDefaultCloseOperation(EXIT_ON_CLOSE);

jCheckBoxC01= new JCheckBox(SISTEMAS DE INFORMAÇÃO);

jCheckBoxC02= new JCheckBox(GESTÃO EM TI);

jCheckBoxC03= new JCheckBox(ENGENHARIA DE SOFTWARE);

jCheckBoxC04= new JCheckBox(PROJETOS DE REDES);

jCheckBoxC05= new JCheckBox(ESTRUTURA DE DADOS);

jCheckBoxS01= new JCheckBox(Masculino);

jCheckBoxS02= new JCheckBox(Masculino);

jCheckBoxS03= new JCheckBox(Masculino);

jCheckBoxS04= new JCheckBox(Masculino);

jCheckBoxS05= new JCheckBox(Masculino);

tFteste = new JTextField(30);

tFteste.setEnabled(false);

btOk = new JButton(CUSRSO SELECIONADO);

btOk.addActionListener(new BtOk());

janela = getContentPane();

janela.setLayout(new FlowLayout());

janela.add(jCheckBoxC01);

janela.add(jCheckBoxC02);

janela.add(jCheckBoxC03);

janela.add(jCheckBoxC04);

janela.add(jCheckBoxC05);

janela.add(jCheckBoxS01);

janela.add(jCheckBoxS02);

janela.add(jCheckBoxS03);

janela.add(jCheckBoxS04);

janela.add(jCheckBoxS05);

janela.add(tFteste);

janela.add(btOk);

setSize(500, 350);    }

public static void main(String[] args) {

ExCheckBox exCheckBox = new ExCheckBox();

exCheckBox.addWindowListener(new WL());

exCheckBox.show();  }

class BtOk implements ActionListener        {

public void actionPerformed(ActionEvent e)            {

tFteste.setText("");

if (jCheckBoxC01.isSelected())                {

tFteste.setText(SISTEMAS DE INFORMAÇÃO);

}

if (jCheckBoxC02.isSelected())                {

tFteste.setText(GESTÃO EM TI);

}

if (jCheckBoxC03.isSelected())                {

tFteste.setText(ENGENHARIA DE SOFTWARE);

}

if (jCheckBoxC04.isSelected())                {

tFteste.setText(PROJETOS DE REDES);

}

if (jCheckBoxC05.isSelected())                {

tFteste.setText(ESTRUTURA DE DADOS);

}

if (jCheckBoxS01.isSelected())                {

tFteste.setText(tFteste.getText()+" do sexo Masculino");

}

if (jCheckBoxS02.isSelected())                {

tFteste.setText(tFteste.getText()+" do sexo Masculino");

}

if (jCheckBoxS03.isSelected())                {

tFteste.setText(tFteste.getText()+" do sexo Masculino");

}

if (jCheckBoxS04.isSelected())                {

tFteste.setText(tFteste.getText()+" do sexo Masculino");

}

if (jCheckBoxS05.isSelected())                {

tFteste.setText(tFteste.getText()+" do sexo Masculino");

}

else                {

tFteste.setText(tFteste.getText()+" do sexo Feminino");	  }

}

}    static class WL extends WindowAdapter

{        public void windowClosing(WindowEvent e)            {

System.exit(0);            }

}

}

2 Respostas

A

kara vc pode criar dois Panel’s (JPanel) , e definir o layout deles como GridLayout.

assim:

JPanel jpcurso = new JPanel();

//define o layout do panel como grid

jpcurso.setLayout(new GridLayout(5,1,0,5));

//adiciona os componentes no Panel

jpcurso.add(jCheckBoxC01);

jpcurso.add(jCheckBoxC02);

jpcurso.add(jCheckBoxC03);

jpcurso.add(jCheckBoxC04);

jpcurso.add(jCheckBoxC05);

//com setBounds vc especifica onde o Panel vai aparecer na Frame

//setBounds-(Coluna,Linha,largura,Altura)

jpcurso.setBounds(15,180,270,150);

//Adiciona o Panel a Frame

Janela.add(jpcurso);
JPanel jpsexo = new JPanel();

//define o layout do panel como grid

jpsexo.setLayout(new GridLayout(5,1,0,5));

//adiciona os componentes no Panel

jpsexo.add(jCheckBoxS01);

jpsexo.add(jCheckBoxS02);

jpsexo.add(jCheckBoxS03);

jpsexo.add(jCheckBoxS04);

jpsexo.add(jCheckBoxS05);

//com setBounds vc especifica onde o Panel vai aparecer na Frame

//setBounds-(Coluna,Linha,largura,Altura)

jpsexo.setBounds(290,180,570,150);

//Adiciona o Panel a Frame

Janela.add(jpsexo);

acho q é isso q vc queria !!
se não servir posta ae d novo !!!

A

ou melhor , um so panel e dividi-lo em duas colunas , tb pode ser !!

Criado 27 de julho de 2004
Ultima resposta 27 de jul. de 2004
Respostas 2
Participantes 2