Import de projeto eclipse não funciona

10 respostas
R

Bom, eu copiei todo o projeto ECLIPSE de uma outra máquina minha e importei na minha nova máquina. Tudo funcionou perfeitamente, menos as classes que estendem (extends) o JFrame.

Não aparece lá em baixo a acaba código e design. Então para testar, criei um novo JFrame e funcionou normalmente, apenas os que são importados não funcionam.

10 Respostas

denisspitfire

sera que esta com os imports corretos?

R

Importei todos os pacotes do projeto, tudo certinho. Não sei se precisar importar configurações ou algo do tipo (.classpath, .project…)

denisspitfire

projeto web? ou desktop mesmo?

R

Bom, segue minha página JFrame

package br.com.crudsimples.frame;

import java.awt.EventQueue;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import com.toedter.components.JSpinField;
import com.toedter.calendar.JDateChooser;
import javax.swing.JToggleButton;

import br.com.crudsimples.model.Contato;
import br.com.crudsimples.controller.ContatoController;

public class ContatoFrame extends JFrame {

	private JPanel contentPane;
	private JTextField txtNome;
	private JTextField txtApelido;
	private JTextField textField;
	private JDateChooser dtcDtnascimento;

	private List<Contato> contatoList = new ContatoController().listaContatos();
	private int registroAtual = 0;

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

	/**
	 * Create the frame.
	 */
	public ContatoFrame() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		JLabel lblNome = new JLabel("Nome:");
		lblNome.setBounds(10, 11, 46, 14);
		contentPane.add(lblNome);

		txtNome = new JTextField();
		txtNome.setBounds(95, 8, 171, 20);
		contentPane.add(txtNome);
		txtNome.setColumns(10);

		JLabel lblApelido = new JLabel("Apelido:");
		lblApelido.setBounds(10, 48, 46, 14);
		contentPane.add(lblApelido);

		txtApelido = new JTextField();
		txtApelido.setBounds(95, 45, 171, 20);
		contentPane.add(txtApelido);
		txtApelido.setColumns(10);

		JLabel lbData_nascimento = new JLabel("Dt.Nascimento:");
		lbData_nascimento.setBounds(10, 88, 75, 14);
		contentPane.add(lbData_nascimento);

		JButton btnSalvar = new JButton("Salvar");
		btnSalvar.setBounds(311, 7, 89, 23);
		contentPane.add(btnSalvar);

		JButton btnAlterar = new JButton("Alterar");
		btnAlterar.setBounds(311, 44, 89, 23);
		contentPane.add(btnAlterar);

		JButton btnExcluir = new JButton("Excluir");
		btnExcluir.setBounds(311, 84, 89, 23);
		contentPane.add(btnExcluir);

		dtcDtnascimento = new JDateChooser();
		dtcDtnascimento.setBounds(95, 82, 171, 20);
		contentPane.add(dtcDtnascimento);

		JButton btnPrimeiro = new JButton("|<");
		btnPrimeiro.setBounds(10, 149, 69, 26);
		contentPane.add(btnPrimeiro);

		JButton btnAnterior = new JButton("<<");
		btnAnterior.setBounds(78, 149, 69, 26);
		contentPane.add(btnAnterior);

		JButton btnLimpar = new JButton("Limpar");
		btnLimpar.setBounds(147, 149, 98, 26);
		contentPane.add(btnLimpar);

		JButton btnProximo = new JButton(">>");
		btnProximo.setBounds(245, 149, 69, 26);
		contentPane.add(btnProximo);

		JButton btnUltimo = new JButton(">|");
		btnUltimo.setBounds(311, 149, 69, 26);
		contentPane.add(btnUltimo);

		textField = new JTextField();
		textField.setBounds(10, 217, 304, 20);
		contentPane.add(textField);
		textField.setColumns(10);

		JLabel lblLocalizarPorNome = new JLabel("Localizar por nome");
		lblLocalizarPorNome.setBounds(10, 190, 137, 16);
		contentPane.add(lblLocalizarPorNome);

		JButton btnProcurar = new JButton("Procurar");
		btnProcurar.setBounds(326, 214, 98, 26);
		contentPane.add(btnProcurar);
	}

	private void getValores(int index) {
		if (index <= contatoList.size() - 1) {
			Contato contatoAtual = contatoList.get(index);
			txtNome.setText(contatoAtual.getNome());
			txtApelido.setText(contatoAtual.getApelido());
			dtcDtnascimento.setDate(contatoAtual.getData_nascimento());

		}
	}

	private void onClickUltimo() {
		if (registroAtual < (contatoList.size() - 1)) {
			registroAtual = contatoList.size() - 1;
			getValores(registroAtual);
		}
	}

	private void onClickAnterior() {
		if (registroAtual > 0) {
			getValores(--registroAtual);
		}
	}

	private void onClickPrimeiro() {
		if (registroAtual > 0) {
			getValores(0);
		}

	}

	private void onClickProximo() {
		if (registroAtual < (contatoList.size() - 1)) {
			getValores(++registroAtual);
		}
	}

	private void onClickAlterar() {
		ContatoController cc = new ContatoController();
		long id = contatoList.get(registroAtual).getId();
		try {
			cc.alterar(id, txtNome.getText(), txtApelido.getText(),
					dtcDtnascimento.getDateFormatString());
			JOptionPane.showMessageDialog(null,
					"Contato Alterado com Sucesso !!");
			clearFields();
			contatoList = new ContatoController().listaContatos();
		} catch (ParseException e) {
			JOptionPane.showMessageDialog(
					null,
					"A Data possui um formato errado \n"
							+ e.getLocalizedMessage());
		} catch (SQLException e) {
			JOptionPane.showMessageDialog(
					null,
					"Não foi possível alterar o contato \n"
							+ e.getLocalizedMessage());
		}
	}
	
	private void onClickSalvar(){
		ContatoController cc = new ContatoController();
		 try{
			 cc.salvar(txtNome.getText(), txtApelido.getText(), dtcDtnascimento.getDate());
		 } catch (ParseException e) {
				JOptionPane.showMessageDialog(
						null,
						"A Data possui um formato errado \n"
								+ e.getLocalizedMessage());
			} catch (SQLException e) {
				JOptionPane.showMessageDialog(
						null,
						"Não foi possível alterar o contato \n"
								+ e.getLocalizedMessage());
			}
			 
		 }
	}

	private void clearFields() {
		txtNome.setText("");
		txtApelido.setText("");
		dtcDtnascimento.setDate(null);
	}
}
R

Projeto Desktop, no ECLIPSE Indigo utilizando Window Builder.

denisspitfire

vamos fazer o seguinte, copia e cola o código, criando as classes na mao mesmo. Mas o codigo voce copia e cola, vamos ver se funciona assim.

R

Bom, criei a classe JFrame pelo WindowBuilder (manualmente) depois copiei e colei todo o código da antiga. Funcionou perfeitamente.

Agora, por que esse problema ? Imagine se eu tivesse 120 Classes JFrame, olhe o trabalho que ia dar fazer uma por uma.

denisspitfire

só estamos filtrando o problema.

Digamos que poderiamos ir para a parte de versões (que pode dar algum problema do genero, como versao de um jar).

pode ser a versao do java!

se a configuração esta para java 6 no projeto. voce tem que clicar com o botao direito no projeto e verificar se a versao é pro java 6 também. Senao voce pode mudar sim pro java 7 normal sem danos no codigo ( as vezes tem, mas é raro).

denisspitfire

fmza?

R

Entendido !

Criado 11 de junho de 2013
Ultima resposta 11 de jun. de 2013
Respostas 10
Participantes 2