Conselhos

Galera to utilizando o Jigloo ele gerou o seguinte codigo para minha GUI.

[code]private void initGUI() {
try {

		controller = new Controller();
		
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		this.setExtendedState(Frame.MAXIMIZED_BOTH);
		{
			jPanel = new JPanel();
			getContentPane().add(jPanel, BorderLayout.CENTER);
			GroupLayout jPanelLayout = new GroupLayout((JComponent)jPanel);
			jPanel.setLayout(jPanelLayout);
			jPanel.setPreferredSize(new java.awt.Dimension(635, 417));
			{
				jLabelMes = new JLabel();
				jLabelMes.setText("Mês");
				jLabelMes.setFont(new java.awt.Font("Arial",1,12));
			}
			{
				
			}
			{
				jLabelTitulo = new JLabel();
				jLabelTitulo.setText("Visualização e Consultas Planilha Vivo.");
				jLabelTitulo.setFont(new java.awt.Font("Arial",1,16));
			}
			{
				ComboBoxModel jComboBoxAnoModel = new DefaultComboBoxModel(controller.leDiretorio().toArray());
				jComboBoxAno = new JComboBox();
				jComboBoxAno.setModel(jComboBoxAnoModel);
				jComboBoxAno.addItemListener(new ItemListener() {
					public void itemStateChanged(ItemEvent evt) {
						jComboBoxAnoItemStateChanged(evt);
					}
				});
			}
			{              // MINHA DUVIDA ESTA AQUI!!!
				this.jComboBoxMesModel = new DefaultComboBoxModel(
				controller.verificaMes(this.jComboBoxAno.getSelectedItem().toString()).toArray()); // aqui ele criou um model.
				jComboBoxMes = new JComboBox();
				jComboBoxMes.setModel(jComboBoxMesModel);
				jComboBoxMes.addItemListener(new ItemListener() {
					public void itemStateChanged(ItemEvent evt) {
						jComboBoxMesItemStateChanged(evt);
					}
				});
			}
			{
				jLabelAno = new JLabel();
				jLabelAno.setText("Ano");
				jLabelAno.setFont(new java.awt.Font("Arial",1,12));
			}

			jPanelLayout.setHorizontalGroup(jPanelLayout.createSequentialGroup()
				.addContainerGap()
				.addComponent(jLabelAno, GroupLayout.PREFERRED_SIZE, 34, GroupLayout.PREFERRED_SIZE)
				.addComponent(jComboBoxAno, GroupLayout.PREFERRED_SIZE, 76, GroupLayout.PREFERRED_SIZE)
				.addGap(41)
				.addGroup(jPanelLayout.createParallelGroup()
				    .addGroup(GroupLayout.Alignment.LEADING, jPanelLayout.createSequentialGroup()
				        .addComponent(jLabelTitulo, GroupLayout.PREFERRED_SIZE, 312, GroupLayout.PREFERRED_SIZE)
				        .addGap(0, 113, Short.MAX_VALUE))
				    .addGroup(GroupLayout.Alignment.LEADING, jPanelLayout.createSequentialGroup()
				        .addGap(118)
				        .addComponent(jLabelMes, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE)
				        .addComponent(jComboBoxMes, GroupLayout.PREFERRED_SIZE, 276, GroupLayout.PREFERRED_SIZE)
				        .addGap(0, 0, Short.MAX_VALUE)))
				.addContainerGap(47, 47));
			jPanelLayout.setVerticalGroup(jPanelLayout.createSequentialGroup()
				.addContainerGap(27, 27)
				.addComponent(jLabelTitulo, GroupLayout.PREFERRED_SIZE, 14, GroupLayout.PREFERRED_SIZE)
				.addGap(42)
				.addGroup(jPanelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
				    .addComponent(jComboBoxAno, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
				    .addComponent(jLabelAno, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
				    .addComponent(jLabelMes, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 14, GroupLayout.PREFERRED_SIZE)
				    .addComponent(jComboBoxMes, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
				.addContainerGap(313, 313));
		}
		{
			jMenuBar = new JMenuBar();
			setJMenuBar(jMenuBar);
			{
				jMenu1 = new JMenu();
				jMenuBar.add(jMenu1);
				jMenu1.setText("Arquivo");
				{
					jMenuContrato = new JMenu();
					jMenu1.add(jMenuContrato);
					jMenuContrato.setText("Contrato 1");
					{
						jMenuItemJaneiro = new JMenuItem();
						jMenuContrato.add(jMenuItemJaneiro);
						jMenuItemJaneiro.setText("JANEIRO");
					}
				}
			}
		}
		pack();
	} catch (Exception e) {
		e.printStackTrace();
	}
}

[/code]

Eu precisava criar um evento onde quando eu clica-se em um item do primeiro combo ele altera-se pra mim o segundo dai fiz da seguinte forma:

[code]private void jComboBoxAnoItemStateChanged(ItemEvent evt) {

	this.jComboBoxMesModel = new DefaultComboBoxModel(
	controller.verificaMes(this.jComboBoxAno.getSelectedItem().toString()).toArray());
	
	this.jComboBoxMes.setModel(this.jComboBoxMesModel);
	
}[/code]

Criei um novo model, esta certo ou tem algo que eu pssa fazer melhor ou ta errado?

Cara, eu particularmente não gosto muito do JiGloo, pois tal como o NetBeans ele nos prende muito ao código pré-frabicado…

Se atendeu à necessidade, blza!
Cuidado só com as inconsistências de código que podem deixá-lo pouco flexível!!

vlew :!:

Mais um código gerado sem vergonha pra dificultar o nosso trabalho.
Esse tal de Jigloo, é vantajoso usar e ter que encarar esse tipo de código?

O mais certo seria você cria sua própria classe que estende AbstractListModel e implementa ComboBoxModel. Nela você poderia delegar o trabalho de atualizar o campo (por exemplo, você apenas passaria o item selecionado no primeiro ComboBox e essa sua classe popularia todo o modelo).

Mas o jeito que você está fazendo não está errado (acontece que se você precisar de um código um pouco mais flexível, você não conseguirá fazer).

E, como já comentado por outros colegas, verifique se realmente está valendo apena usar plugins para construir a interface gráfica.

Esse Jigloo é da Nissin ou da Maggi?!

Porque um código miojo desses só pode ser… nem compensa usar essas coisas, o tempo que se leva entendendo o código é maior que fazer um limpo na mão.

[quote=andrerios]Esse Jigloo é da Nissin ou da Maggi?!

Porque um código miojo desses só pode ser… nem compensa usar essas coisas, o tempo que se leva entendendo o código é maior que fazer um limpo na mão.[/quote]
Se esse miojo doido tiver DnD “do bão” acho que dá para aguentar a coisa doida que ele gera.

Inté.