não consegui implementar codigo para adicionar um valor e não consegui implementar codigo para

3 respostas
3e3inh0

preciso de ajuda não ta dando ceto tem que remover item por item
ao clicar no botão Adiciona, o valor que estiver na caixa de texto será adicionado a lista. Da mesma forma que ao clicar no botão Remove, o valor que estiver selecionado na lista será removido, ao eliminar os valores, caso todos os valores tenham sido eliminados e a lista esteja vazia, o botão Remove deve ser desabilitado, sendo habilitado novamente apenas quando houver algum valor na lista. Da mesma forma, caso o botão Adiciona seja clicado sem que nada tenha sido digitado na caixa de texto, um aviso deve ser emitido, seja uma mensagem de texto ou um som.

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

public class AvaliacaoList extends JFrame implements ListSelectionListener {
    
    private JList list;
    private DefaultListModel listModel;
    private JButton addButton, removeButton;
    private JTextField caixaNome;

    public AvaliacaoList() {
        super("AvaliacaoList");

        listModel = new DefaultListModel();
        listModel.addElement("Márcio José");
        listModel.addElement("Cheila Carvalho");
        
        list = new JList(listModel);
        list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        list.setSelectedIndex(0);
        list.addListSelectionListener(this);
        JScrollPane listScrollPane = new JScrollPane(list);

        addButton = new JButton("Adiciona");
        addButton.setActionCommand("Adiciona");
        addButton.addActionListener(new addListener());

        removeButton = new JButton("Remove");
        removeButton.setActionCommand("Remove");
        removeButton.addActionListener(new removeListener());

        caixaNome = new JTextField(15);
        caixaNome.addActionListener(new addListener());
        caixaNome.setText("");

        JPanel buttonPane = new JPanel();
        buttonPane.add(caixaNome);
        buttonPane.add(addButton);
        buttonPane.add(removeButton);

        Container contentPane = getContentPane();
        contentPane.add(listScrollPane, BorderLayout.CENTER);
        contentPane.add(buttonPane, BorderLayout.SOUTH);
    }

    class removeListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
           
           //não consegui implementar codigo para remover um valor
          

 
        }
    }

   
    class addListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {

	    //não consegui implementar codigo para adicionar um valor
            
        }
    }

    public void valueChanged(ListSelectionEvent e) {
        
    }

    public static void main(String args[]) {
        JFrame janela = new AvaliacaoList();
        janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        janela.setSize(400,300);
        janela.setVisible(true);
    }
}

3 Respostas

d34d_d3v1l

listModel.remove listModel.add
uai… qual a dificuldade?

3e3inh0
essa parte ta feita falta a segunda parte
class removeListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
           
           // implementar codigo para remover um valor
          
    
        
               
      
 
        }
    }

   
    class addListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {

	    // implementar codigo para adicionar um valor
            
           
     
        }
    }
essa parte ta beleza o que ta dificil é a segunda parte. Ao eliminar os valores, caso todos os valores tenham sido eliminados e a lista esteja vazia, o botão Remove deve ser desabilitado, sendo habilitado novamente apenas quando houver algum valor na lista. Da mesma forma, caso o botão Adiciona seja clicado sem que nada tenha sido digitado na caixa de texto, um aviso deve ser emitido, seja uma mensagem de texto ou um som.
d34d_d3v1l

então siga o algoritmo e preocupe com a implementação (estude para tal).

//Adiciona elemento
   //verifica se o numero de elementos é 1
       //se for verdade
           //Habilita o botao Remover

e a mesma coisa para o evento do botão remover:

//remove elemento
   //verifica se lista esta vazia
       //verdade
            //Desabilita o botao Remover

Habilitar os botões basta usar um dos comandos:

botaoRemover.setEditable(true); 
   //ou 
   botaoRemover.setEnabled(true);

   //onde true esta editável, ou habilitado.
Criado 3 de maio de 2011
Ultima resposta 4 de mai. de 2011
Respostas 3
Participantes 2