Setar "null" no combobox

Tenho 2º comboBox.

No 1º tenho tres items que sao “2009” “2010” “2011”. Quando eu clico em 2009 como eu faço pra setar null no segundo comboBox?

Posso usar getSelectedItem(), pra fazer ou tem outro meio?

Como assim setar null?
seria não exibilo mais?
apagar o texto que tem nele?
não deixar o usuário mudar o valor dele?

O getSelectedItem() pode usar sim vai lhe retornar um objeto.

Só não entendi a sua primeira pergunta!

Vini é apagar os textos que tem no 2º comboBox quando eu clicar em um item do 1º comboBox.

ComboBox.setSelectedItem("");
Tenta assim

Scoby olha como esta o cod:

ComboBoxModel jComboBoxMesModel = new DefaultComboBoxModel(new Controller().verificaMes(this.jComboBoxAno.getSelectedItem().toString()).toArray());

nesse comboMes eu queria q ele upasse de acordo com a seleçao do comboAno, porem agora nao esta upando nda.

Ta perfect teu Model - agora sete teu model no ComboBoxMEs

ComboBoxMES.setModel(jComboBoxMesModel );    

esta setado:

ComboBoxModel jComboBoxMesModel = new DefaultComboBoxModel(new Controller().verificaMes(this.jComboBoxAno.getSelectedItem().toString()).toArray()); jComboBoxMes = new JComboBox(); jComboBoxMes.setModel(jComboBoxMesModel);

E mesmo assim não aparece ???
AH…
Ja sei o problema
Note

new Controller().verificaMes(this.jComboBoxAno.getSelectedItem().toString()).toArray()); // Aqui você está criando um NEW CONTROLLER()

Ou seja… esse jComboBoxAno vai estar como nulo…
Voce precisa criar uma variavel Controller() global e setar ele como um parametro antes de executar isso
Entendeu ??

Scobyy eu instancio Controller porem eu passo um método de controller… deixa eu explicar melhor…

No 1º comboBox que é o comboBoxAno eu leio um diretorio e trago pro comboBox todos nomes de pastas que são 2009-2010-2011. Dentro de cada pasta tem planilhas cujo os nomes são de meses “Jan” “Fev” e por ai vai.

To querendo fazer o seguinte, quando eu clicar no 2009 ele setar pra mim no comboMes todas planilhas que tem nessa pasta 2009, e em 2010 mesma coisa e 2011 tb.

Vou postar a class Controller.

[code]package mascarenhas.relatorio.telefonia;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class Controller {

List<Usuarios> list = new ArrayList<Usuarios>();		

static int mes = 0; // define qual Planilha sera lida no "Excel"


HSSFWorkbook wb; // wb objeto que cria um grupo de trabalho com a planilha da Vivo.
HSSFSheet sheet; // objeto que busca a planilha JAN_ADM
HSSFRow row; // objeto que buca a linha.
HSSFCell celUser; // objeto que busca as celulas.
HSSFCell celTel; // objeto que busca as celulas de telefones.
HSSFCell celCC; // objeto que busca celulas do centro de custo
HSSFCell celValorConta; // objeto que busca celulas do Valor da Conta sem Plano Flex.
HSSFCell celValorTotal; // objeto que busca celulas com o Valor total e plano Flex.
HSSFCell celContador; // verifica o fim das celulas que contem valores.
FileInputStream fis; // objeto que traz a planilha através de um canal.

String path = "//10.0.16.2/TecInfor/Monitoramento/TelRat/Vivo/";

void lerExcel() throws IOException, FileNotFoundException{
	
	Usuarios user;
	
	String usuario = "";
	
	double tel = 0.0;
	double valorConta = 0.0;
	double valorTotal = 0.0;
	double centroCusto = 0;
	
	int i = 2;
	int contador = 0;
			
	this.fis = new FileInputStream(path); // aqui fis recebe a planilha da vivo.
	
	this.wb = new HSSFWorkbook(fis); // aqui e criado o grupo de trabalho do POI com a planilha da vivo.
	
	  
		this.sheet = this.wb.getSheetAt(mes - 1); // é passado para sheet a planilha 2 JAN_ADM        

    do{
    	
      this.row = this.sheet.getRow(i); // é passado para row a linha (i) se inicia da 3
    	
      this.celUser = this.row.getCell(2); // é passado para cel a celula 3 da linha i
      
      this.celTel = this.row.getCell(1); // é passado para celTel a celula 2 da linha i
      
      this.celCC = this.row.getCell(3); // é passado para celCC a celula 4 da linha i
      
      this.celValorConta = this.row.getCell(4); // é passado para celValorConta a celula 5 da linha i
      
      this.celValorTotal = this.row.getCell(7); // é passado para celValorTotal a celula 8 da linha i
      
      this.celContador = this.row.getCell(0);
      
     try{
              	  
    	  contador  = (int) celContador.getNumericCellValue();
        
    	  
      }catch(NullPointerException e){
    	  
    	  break;
    	  
      }
    	  
    try{
     
    	usuario = this.celUser.getStringCellValue(); // variável usuario (String) recebe o valor da celula celUser
    	
    	tel = this.celTel.getNumericCellValue(); // variavel tel recebe o valor numeric da celula celTel.
    	
    	valorConta = this.celValorConta.getNumericCellValue(); // variavel valorConta recebe o valor numeric
    	// da celula celValorConta.
    	
    	valorTotal = this.celValorTotal.getNumericCellValue(); // variavel valorTotal recebe o conteudo da celula
    	// celValorTotal
    	
    	centroCusto = this.celCC.getNumericCellValue(); // variavel centroCusto recebe o conteudo numerico da celula
    	// celCC
    	
    	user = new Usuarios();
    	
    	user.setNome(usuario);
    	
    	user.setTelefone((long)tel); 
    	
    	user.setValorConta((float)valorConta);
    	
    	user.setValorTotal((float)valorTotal);
    	
    	user.setCentroCusto((int)centroCusto);
    	
    	this.list.add(user);
    	
    	i++;   
              
    }catch(NullPointerException e){
    
    }
  
    }while(contador != -1); // fim do while
    
    for(Usuarios u : this.list){
    	
    	System.out.println("Usuário: " +u.getNome() +"\n" 
    			          +"Telefone: " +u.getTelefone() +"\n" 
    					  +"Valor da Conta: " +u.getValorConta() +"\n" 
    					  +"Valor Total: " +u.getValorTotal() +"\n"
    					  +"Centro de Custo: " +u.getCentroCusto() +"\n\n\n");
    	
    } // fim do for.
  	
} // fim do Método ler Excel

public ArrayList<String> verificaMes(String ano) throws FileNotFoundException, IOException{
	
	ArrayList<String> lista = new ArrayList<String>();
	
	try{
	
	this.fis = new FileInputStream(path + ano + "/ADM Acompanhamento Vivo.xls");
	
	this.wb = new HSSFWorkbook(fis);
	
	}catch(FileNotFoundException e){
		
	}
		
	for(int i = 0; i < 12 ; i++){
	
	try{
			
		this.sheet = wb.getSheetAt(i);
		
		Character testeNome = sheet.getSheetName().charAt(sheet.getSheetName().length() -1);
					
		if(testeNome == 'M'){			
		
			lista.add(sheet.getSheetName());
			
		}
		
	}catch(IllegalArgumentException e){
	
		break;
		
	}catch(NullPointerException e){
		
	}
	
	}
	
	return lista;
	
}

public List<String> leDiretorio() throws FileNotFoundException, IOException{
	
	String path = "//10.0.16.2/TecInfor/Monitoramento/TelRat/Vivo";
	
	File file = new File(path);
	
	String[] diretorios = file.list();
	
	List<String> lista =  Arrays.asList(diretorios);
	
	return lista;
}

}
[/code]

Minha duvida esta mais em relaçao ao seguinte, pra clicar em um item de um comboBox e preencher outro nao precisa de nenhum evento? Eu estou upando o combobox dentro do construtor do Model agora como ele vai upar o segundo combo se o Model nao esta em nenhum evento?

Para um comboBox fazer isso que vc quer
vc pode usar o Evento ItemStateChanged
e colocar um if para ver qual posição do seu comboBox esta selecionada
ai vc faz o que vc quer
um exemplo da implementação dele abaixo:


  JComboBox1.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                JComboBox1ItemStateChanged(evt);
            }
        });


  private void JComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {
        if (JComboBox1.getSelectedIndex()==1){
            System.out.println("Hellow World");
        }
    }

Bom ai vc adapta isso do geito que vc precisa

Abraço

Vini brigadao cara!!!