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?