jComboBox

4 respostas
mvdfreitas

bom dia,
estou fazendo um projeto em swing no netbeans, e quero fazer o seguinte, no meu frame tem um jComboBox, e 2 jMenuBar, estou tentando fazer o seguinte, ao selecionar um item na combobox ele escode um menu e aparece o outro e vice versa. eu não estou conseguindo fazer essa parte.
Alguém teria um exemplo para me passar?

Grato.

4 Respostas

higornucci

Acho q seria algo do tipo

if(itemDaCombo1.isSelected()) { itemMenu.setEnable(false); // ou enabled nao lembro } else if(itemDaCombo2.isSelected()) { outroItemMenu.setEnabled(false); }

mvdfreitas

isso eu consgui fazer, oq nao estou conseguindo é adicionar manualmente o jMenuBar no topo do frame ao trocar o item do combobox. um exemplo:
a minha combo terá os sistemas disponíveis tipo financeiro,caixa, etc… , e ao selecionar um sistema pela combo, modificaria o menu a ser apresentado. removeria um e adicionaria outro.

grato.

fabiofalci

Exemplinho bem simples, onde um item de menu muda o menu!

public class TestMenu2 extends JFrame {

	public TestMenu2() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 400);
		setJMenuBar(menu1());
	}

	public JMenuBar menu1() {
		JMenuBar menubar = new JMenuBar();
		JMenu menu = new JMenu("Menu1");
		menubar.add(menu);
		JMenuItem item = new JMenuItem("acao1");
		menu.add(item);
		item.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				setJMenuBar(menu2());
				validate();
			}
		});
		return menubar;
	}

	public JMenuBar menu2() {
		JMenuBar menubar = new JMenuBar();
		JMenu menu = new JMenu("Menu2");
		menubar.add(menu);
		JMenuItem item = new JMenuItem("acao2");
		menu.add(item);
		item.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				setJMenuBar(menu1());
				validate();
			}
		});
		return menubar;
	}

	public static void main(String[] args) {
		new TestMenu2().setVisible(true);
	}
}
mvdfreitas

valeu pela dica

Criado 5 de novembro de 2008
Ultima resposta 5 de nov. de 2008
Respostas 4
Participantes 3