Formatar formulário + erro class

0 respostas
C

Pessoal tenho esse formulário abaixo e estou fazendo algumas coisas nele, e preciso de ajuda.

1° está dando um erro quando no evento do botão dizendo que:
Cannot refer to a non-final variable jCodigo inside an inner class defined in a different method Isso para todos os textFields.

2° Como eu faço para deixar as textFields alinhadas uma em baixo da outras e com o Botão abaixo/?

package Pacote.produtos;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class UsaProduto {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		JFrame myFrame = new JFrame("Teste formulário");
		myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container myPane = myFrame.getContentPane();
		myPane.setLayout(new FlowLayout(FlowLayout.CENTER));
		
		JButton btn = new JButton("Cadastrar");
		JTextField jCodigo = new JTextField(10);	
		JTextField jNome = new JTextField(10);
		JTextField jQnt = new JTextField(10);
		JTextField jPreco = new JTextField(10);
		
		myFrame.pack();
		myFrame.setVisible(true);
		myFrame.setSize(400,300);
		
		btn.addActionListener(
		new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
								
				Produto p1 = new Produto();
				p1.setCodigo(Integer.getInteger(jCodigo.getText()));
				p1.setNome(jNome.getText());
				p1.setQuantidade(Integer.getInteger(jQnt.getText()));
				p1.setPreco(Integer.getInteger(jPreco.getText()));
				JOptionPane.showMessageDialog(null,"Dados inclusos");
			
			//System.out.println(p1.toString());
			//System.out.println(p1.atualizaPreco(0.5));
			}
		}
			
				);
		
			myPane.add(btn);
			myPane.add(jCodigo);
			myPane.add(jNome);
			myPane.add(jQnt);
			myPane.add(jPreco);
			
		
	}

}
Criado 13 de maio de 2011
Respostas 0
Participantes 1