Interface Grafica

4 respostas
D

Como faço para qndo clicar no cadastrar aparecer os campos de cadastro, por exemplo, nome, idade.. ?!

package trab2;

import java.awt.BorderLayout;

public class MainFrame extends JFrame {

	private JPanel contentPane;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					MainFrame frame = new MainFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public MainFrame() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		
		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);
		
		JMenu mnNewMenu = new JMenu("Titular");
		menuBar.add(mnNewMenu);
		
		JMenuItem mntmCadastrar = new JMenuItem("Cadastrar");
		mntmCadastrar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			}
		});
		mnNewMenu.add(mntmCadastrar);
		
		JMenu mnEditar = new JMenu("Editar");
		mnNewMenu.add(mnEditar);
		
		JMenuItem mntmNome = new JMenuItem("Nome");
		mnEditar.add(mntmNome);
		
		JMenuItem mntmAnoDContrato = new JMenuItem("Ano d contrato");
		mnEditar.add(mntmAnoDContrato);
		
		JMenuItem mntmValorDaMensalidade = new JMenuItem("Valor da mensalidade");
		mnEditar.add(mntmValorDaMensalidade);
		
		JMenuItem mntmExcluir = new JMenuItem("Excluir");
		mnNewMenu.add(mntmExcluir);
		
		JMenu mnDependente = new JMenu("Dependente");
		menuBar.add(mnDependente);
		
		JMenuItem mntmCadastrar_1 = new JMenuItem("Cadastrar");
		mnDependente.add(mntmCadastrar_1);
		
		JMenuItem mntmExcluir_1 = new JMenuItem("Excluir");
		mnDependente.add(mntmExcluir_1);
		
		JMenu mnListar = new JMenu("Listar");
		menuBar.add(mnListar);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		JLabel label = new JLabel("");
		contentPane.add(label, BorderLayout.NORTH);
	}

}

4 Respostas

Samuel_Medeiros

Você pode criar um novo JFrame com os campos pra preencher e fazer ele aparecer no actionlistener

mntmCadastrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JFrame teste = new JFrame("Formulário");
                teste.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
                teste.setResizable(false);
                teste.setSize(315,180);
                JLabel label1;
                JLabel label2;
                JTextField textField1;
                JTextField textField2;
                JButton button1;

                label1 = new JLabel();
                label2 = new JLabel();
                textField1 = new JTextField();
                textField2 = new JTextField();
                button1 = new JButton();

                Container contentPane = teste.getContentPane();
                contentPane.setLayout(null);
                label1.setText("Nome:");
                contentPane.add(label1);
                label1.setBounds(new Rectangle(new Point(10, 15), label1.getPreferredSize()));
                label2.setText("Idade:");
                contentPane.add(label2);
                label2.setBounds(new Rectangle(new Point(10, 45), label2.getPreferredSize()));
                contentPane.add(textField1);
                textField1.setBounds(45, 15, 245, textField1.getPreferredSize().height);
                contentPane.add(textField2);
                textField2.setBounds(45, 45, 45, 20);
                button1.setText("Cadastrar");
                contentPane.add(button1);
                button1.setBounds(new Rectangle(new Point(10, 105), button1.getPreferredSize()));                {
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < contentPane.getComponentCount(); i++) {
                        Rectangle bounds = contentPane.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = contentPane.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    contentPane.setMinimumSize(preferredSize);
                    contentPane.setPreferredSize(preferredSize);
            }
                teste.setVisible(true);
        }
        });
D

isso aqui dentro ???
[code] JMenuItem mntmCadastrar = new JMenuItem("Cadastrar");
mntmCadastrar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
}); [quote]
??

Samuel_Medeiros

Sim o código vai dentro do seu actionPerformed

D

Insets insets = contentPane.getInsets(); ta dando erro aki… pq ??

Criado 6 de abril de 2013
Ultima resposta 6 de abr. de 2013
Respostas 4
Participantes 2