JList

5 respostas
joaofs_18
package lp3;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.TitledBorder;

public class Janela extends JFrame implements ActionListener {
    private JLabel lblNome,lblEnd, lblCid, lblSexo,lblOp,lblEst,lblInt,lblObs;
    private JTextField tNome,tEnd,tCid;
    private JTextArea tObs;
    private JRadioButton masc,fem;
    private JCheckBox curso1,curso2,curso3;
    private JComboBox Estado;
    private JButton Inserir, Gravar, Consultar,Sair, esq,dir;
    private JList JLista, JLista2;
    private JPanel p1, p2;
    private DefaultListModel m1,m2;

    public Janela(){
        super("MINHA JANELA");

        Container c=getContentPane();
        c.setLayout(null);

        lblNome=new JLabel("Nome:");
        lblNome.setBounds(30, 10, 50, 25);
        c.add(lblNome);

        tNome=new JTextField();
        tNome.setToolTipText("Digite o Nome");
        tNome.setBounds(85, 10, 300, 25);
        c.add(tNome);

        lblEnd=new JLabel("Endereço:");
        lblEnd.setBounds(10, 50, 80, 25);
        c.add(lblEnd);

        tEnd=new JTextField();
        tEnd.setToolTipText("Digite o Endereco");
        tEnd.setBounds(85,50,300,25);
        c.add(tEnd);

        lblCid=new JLabel("Cidade:");
        lblCid.setBounds(25, 100, 80, 25);
        c.add(lblCid);

        tCid=new JTextField();
        tCid.setToolTipText("Digite sua Cidade");
        tCid.setBounds(85,100,180,25);
        c.add(tCid);

        lblSexo=new JLabel("Sexo:");
        lblSexo.setBounds(35,130,50,25);
        c.add(lblSexo);

        masc=new JRadioButton("Masculino");
        masc.setBounds(90, 130, 90, 25);
        c.add(masc);

        fem=new JRadioButton("Feminino");
        fem.setBounds(190,130,90,25);
        c.add(fem);

        ButtonGroup g=new ButtonGroup();
        g.add(masc);
        g.add(fem);

        lblEst=new JLabel("Estado:");
        lblEst.setBounds(270,100,80,25);
        c.add(lblEst);

        String s[]={"","AC","DF","GO","SP"};
        Estado=new JComboBox(s);
        Estado.setBounds(319,100,50,25);
        c.add(Estado);

        lblOp=new JLabel("Opções:");
        lblOp.setBounds(20,160,60,25);
        c.add(lblOp);

        curso1=new JCheckBox("Curso 1");
        curso1.setBounds(90,160,90,25);
        c.add(curso1);

        curso2=new JCheckBox("Curso 2");
        curso2.setBounds(190,160,90,25);
        c.add(curso2);

        curso3=new JCheckBox("Curso 3");
        curso3.setBounds(290,160,90,25);
        c.add(curso3);

        TitledBorder Interesses=new TitledBorder("Interesses");
        p1=new JPanel();
        p1.setBorder(Interesses);
        p1.setBounds(10,200,380,110);
        p1.setLayout(null);
        c.add(p1);


        String L[]={"Redes","Internet","Compiladores","Segurança","BD"};
        JLista=new JList(L);
        JScrollPane sc = new JScrollPane(JLista);
        sc.setBounds(10, 20, 140, 85);
        p1.add(sc);

        JLista2=new JList();
        JScrollPane sc2 = new JScrollPane(JLista2);
        sc2.setBounds(230,20,140,85);
        p1.add(sc2);

        m1=new DefaultListModel();
        m1.addElement(L);
        JLista=new  JList(m1);
        
        m2=new DefaultListModel();
        JLista2=new JList(m2);
        
        dir=new JButton(">>");
        dir.setBounds(160,40,60,20);
        p1.add(dir);
        dir.addActionListener(this);
        
        esq=new JButton("<<");
        esq.setBounds(160,65,60,20);
        p1.add(esq);
        esq.addActionListener(this);

        TitledBorder observacoes=new TitledBorder("Observações");
        p2=new JPanel(new BorderLayout());
        p2.setBorder(observacoes);
        p2.setBounds(10,320,380,80);
        c.add(p2);

        this.tObs = new JTextArea();
        p2.add(new JScrollPane(this.tObs));

        //ImageIcon icone = new ImageIcon("D:\JavaProjectos\Lp3\src\Img\Check.png");

        //Inserir=new JButton("Inserir", icone);
        Inserir=new JButton("Inserir");
        Inserir.setBounds(480,10,90,25);
        c.add(Inserir);

        Gravar=new JButton("Gravar");
        Gravar.setBounds(480,50,90,25);
        c.add(Gravar);

        Consultar=new JButton("Consultar");
        Consultar.setBounds(480,90,90,25);
        c.add(Consultar);

        Sair=new JButton("Sair");
        Sair.setBounds(480,130,90,25);
        c.add(Sair);

        this.setSize(590, 430);
        this.setResizable(true);
        this.setLocation(300, 200);
        this.setVisible(true);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
    
    public void actionPerformed(ActionEvent ev){
    	if(ev.getSource()==dir){
    		copiar();
    	}
    	else if(ev.getSource()==esq){
    		voltar();
    	}
    }
    
    private void copiar() {
		if(JLista.getSelectedIndex()>=0){
			m2.addElement(JLista.getSelectedValue());
			m1.removeElement(JLista.getSelectedValue());
			
		}
		else{
			JOptionPane.showMessageDialog(this, "Selecione um elemento para copiar!");
		}
		
	}

	private void voltar() {
		// TODO Auto-generated method stub
		
	}

	public static void main (String args[]){
        new Janela();
    }
}

nao consigo copiar o conteudo que está no JLista para o JLista e virce-versa. Se alguem puder ajudar.

5 Respostas

pedroroxd
  1. Antes de postar leia: http://www.guj.com.br/posts/list/50115.java

Circule seu código com a tag [code ]
Fica mais visível
Ex.:

String ex = "Exemplo"; System.out.println(ex);

erico_kl

Bom… não sei se sou o único, mas prefiro trabalhar com JTable do que com JList (mesmo se for somente 1 coluna)

Giovanni_Ritchie

voce pode simplesmente usar um botão que ao clicar pega o conteudo da primeira JList para a outra. Algo assim:

botao.addActionListener(new ActionListener(){
      // aqui
      // vc pode ainda pegar só os dados selecionados usando o .getSelectedValues();
});
pedroroxd

Somos 2.

ViniGodoy

O código não funciona? O que ele faz? Ele parece certo.

Criado 14 de março de 2010
Ultima resposta 15 de mar. de 2010
Respostas 5
Participantes 5