import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public  class OxnarExemploJList2 extends JFrame implements ActionListener 
{

		JButton bt_Adicionar, bt_Fechar, bt_Excluir; 
		JPanel Painel_Norte,  Painel_Sul,  Painel_Centro, Painel_Leste, Painel_Oeste; 	
	    
	    DefaultListModel Itens_da_Lista = new DefaultListModel();
		
		JList  Lista_de_Paises = new JList(Itens_da_Lista); 
		JScrollPane Painel_Rolante;	
		JTextField tf_Novo_Pais; 
		JMenuBar Barra_de_Menu = new JMenuBar();	
		
		JMenu Menu_Arquivo, Menu_Operacoes, Menu_Ajuda;
		JMenuItem MenuItem_Arquivo_Novo, MenuItem_Arquivo_Sair;  
		JMenuItem MenuItem_Operacoes_Adicionar_Itens, 
			      MenuItem_Operacoes_Excluir_Itens, 
			      MenuItem_Operacoes_Excluir_Tudo;
				
       	public OxnarExemploJList2()
       	{
       			setJMenuBar(Barra_de_Menu); 
       			Barra_de_Menu.add(Menu_Arquivo		= new JMenu("ARQUIVO"));	
       			Menu_Arquivo.add(MenuItem_Arquivo_Novo = new JMenuItem ("Novo")); 
       			Menu_Arquivo.add(MenuItem_Arquivo_Sair = new JMenuItem ("Sair"));
       			Barra_de_Menu.add(Menu_Operacoes	= new JMenu("OPERAÇÕES"));
       			Menu_Operacoes.add(MenuItem_Operacoes_Adicionar_Itens = new JMenuItem("Adicionar Item"));
       			Menu_Operacoes.add(MenuItem_Operacoes_Excluir_Itens   = new JMenuItem("Excluir Item")); 
       			Menu_Operacoes.add(MenuItem_Operacoes_Excluir_Tudo    = new JMenuItem("Excluir Tudo"));
       			Barra_de_Menu.add(Menu_Ajuda		= new JMenu("AJUDA"));
       			getContentPane().setLayout(new BorderLayout());
       			getContentPane().add("North", Painel_Norte = new JPanel(new FlowLayout(FlowLayout.CENTER)));
 				Painel_Norte.add(new JLabel("Novo pais:"));
       			Painel_Norte.add(tf_Novo_Pais = new JTextField(15));
       			getContentPane().add("Center", Painel_Centro = new JPanel());
       			Painel_Centro.add(Painel_Rolante = new JScrollPane(Lista_de_Paises));
       			
                Itens_da_Lista.add(0, "BRASIL");
                Itens_da_Lista.add(1, "PARAGUAI");
                Itens_da_Lista.add(2, "ARGENTINA");
                Itens_da_Lista.add(3, "CHILE");
                Itens_da_Lista.add(4, "URUGUAI");
                Itens_da_Lista.add(5, "GUIANA FRANCESA");
                Itens_da_Lista.add(6, "EQUADOR");
                Itens_da_Lista.add(7, "PERU");
                Itens_da_Lista.add(8, "SURINAME");
                Itens_da_Lista.add(9, "COLOMBIA");
        
                

                Lista_de_Paises.setVisibleRowCount(10); // Qtd de Itens visíveis
       			getContentPane().add("South", Painel_Sul = new JPanel(new FlowLayout(FlowLayout.CENTER)));
       			Painel_Sul.add(bt_Adicionar = new JButton("Adicionar Item"));
       			Painel_Sul.add(bt_Excluir   = new JButton("Excluir Item"));
       			Painel_Sul.add(bt_Fechar    = new JButton("Fechar"));
       			bt_Adicionar.addActionListener(this);
       			bt_Fechar.addActionListener(this);
       			bt_Excluir.addActionListener(this);
       			MenuItem_Arquivo_Novo.addActionListener(this);
       			MenuItem_Arquivo_Sair.addActionListener(this);
       			MenuItem_Operacoes_Adicionar_Itens.addActionListener(this);
       			MenuItem_Operacoes_Excluir_Itens.addActionListener(this);
       			MenuItem_Operacoes_Excluir_Tudo.addActionListener(this);
 				setTitle("OXNAR: Exemplo JList");
               	pack();
               	//setSize(700, 500);
				setVisible(true);
       	}

       	public void actionPerformed(ActionEvent e) 
       	{
       			if(e.getSource()==MenuItem_Operacoes_Excluir_Tudo)
       			{
       					Itens_da_Lista.removeAllElements();
       					JOptionPane.showMessageDialog(null, "Todos os itens foram removidos com sucesso");
       			}	
       			if((e.getSource()==bt_Adicionar)||(e.getSource()==MenuItem_Operacoes_Adicionar_Itens))
       			{
       					if(tf_Novo_Pais.getText().equals(""))
       					{
       						JOptionPane.showMessageDialog(null, "Você precisa digitar um novo país");
       					}	
       					else
       					{
       						Itens_da_Lista.addElement(tf_Novo_Pais.getText().toUpperCase());
       						tf_Novo_Pais.setText("");
       					}		
       					
       			}	
       			if(e.getSource()==bt_Fechar)
       			{
       					System.exit(0);
       			}	
       			if((e.getSource()==bt_Excluir)||(e.getSource()==MenuItem_Operacoes_Excluir_Itens))
       			{
       				    if(Itens_da_Lista.getSize()==0)
       					{
       						JOptionPane.showMessageDialog(null, "Sua lista esta vazia");
       					}	
       					else
       					{
       						Itens_da_Lista.removeElementAt(Lista_de_Paises.getSelectedIndex());
       						JOptionPane.showMessageDialog(null, "Item removido com sucesso");
       					}	
       					
       			}	        
       	}
       
       	public static void main (String args[])
       	{
               new OxnarExemploJList2();
       	}
}