Urgente - Packages

8 respostas
rasinc

Olá pessoal, estou correndo contra o tempo, tenho uma aplicação que tem que ser dividida em pacotes seguindo um certo padrão definido. O problema é o seguinte, eu setei os meus pacotes e configurei o classepath, até aí tudo bem, mas simplesmente quando tento importar um pacote(package) ocorre o seguinte erro dizendo que tal package não existe. Salvem-me o dia por farvor!!! flw…

8 Respostas

josue_carrecon

Posta como eh esse padrao e o que voce tah montando!

luxu

qual a IDE vc esta usando?

rasinc

Não estou usando nenhuma IDE, estou usando o “nano” como editor de textos… Um exemplo prático do que está acontecendo é o seguinte:

package exemplo;
package testaexemplo;

Quando no código de baixo :

package testaexemplo;
import exemplo;

Tento importar exemplo, vem um erro dizendo que o package exemplo does no exist. Mas no entanto quando compilo apenas exemplo não dã erro algum no package. Eu compilo usando o javac Exemplo.java e executo java -classpath /home/rasinc exemplo.Exemplo

zanata

Olá rasinc,

Por favor, apenas confirme pra gente o que está acontecendo.

Pelo comando que enviou:

java -classpath /home/rasinc exemplo.Exemplo

você deve ter criado aí os diretórios “/home/rasinc/exemplo” e “/home/rasinc/testaexemplo”

A classe Exemplo foi criada no diretório “/home/rasinc/exemplo” e a outra classe foi criada em “/home/rasinc/testaexemplo”.

É isso mesmo o que foi feito?

[]s

adriano_si

rasinc:
Não estou usando nenhuma IDE, estou usando o “nano” como editor de textos… Um exemplo prático do que está acontecendo é o seguinte:

package exemplo;
package testaexemplo;

Quando no código de baixo :

package testaexemplo;
import exemplo;

Tento importar exemplo, vem um erro dizendo que o package exemplo does no exist. Mas no entanto quando compilo apenas exemplo não dã erro algum no package. Eu compilo usando o javac Exemplo.java e executo java -classpath /home/rasinc exemplo.Exemplo

Você tem que importar alguma coisa do pacote exemplo… sempre passe o Path da classe que quer importar import exemplo.MinhaClasse; ou se quiser importar todo o pacote precisa fazer import exemplo.*;

Do jeito que você está fazendo o compilador não sabe o que você quis importar ao certo, ele vai atrás de uma classe chamada exemplo.java na raiz do Sistema…

Abs []

rasinc

Quis dar um exemplo rápido e acabei me engasgando, mas a ideia é importar a classe de um dos pacotes noutro pacote, dá um erro dizendo que o pacote não existe…

adriano_si

Cara, investe um tempo pra nos mostrar o que estás fazendo, pra nós também tirarmos uma parte de nosso tempo pra te ajudar.

Coloca aqui tuas classes, onde elas estao fisicamente, como estás compilando e qual o erro que está dando… Não esqueça de utilizar as Tags que facilitam a vida no fórum do GUJ…

Abs []

rasinc

Consegui resolver o erro, era o classpath dando trabalho, mas no entanto a aplicação não executa o evento gerado. É assim:

package control;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import gui.Home;
import gui.Login;

public class Entrar implements ActionListener{

 private Entrar evento = new Entrar();
 private Home home = new Home();
 

 public Entrar(){
 
   home.login.addActionListener(evento);
 }
  
 public void actionPerformed(ActionEvent ev){
  if(ev.getSource() == home.login){   
   new Login();
  } 
  
 }
}

A classe acima é responsável pelo evento do botão (JButton login = new JButton(“Entrar”):wink: que faz parte da classe abaixo:

package gui;

/*
 * Autor: Amarildo J. C. Lucas (rasinc)
 * CEO: Real Arts Studio.inc
 * WebSite: www.realarts3d.blogspot.com
 * Descrição: Código responsável pela GUI principal do programa
 * Obs: Deverá ser o mais customizável possível
 */
 
// Importando pacotes e classes necessárias para uso na aplicação
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import control.Entrar;

// Declarando classe e herdando JFrame
public class Home extends JFrame{

 public JButton login = new JButton("Entrar           ");
 JButton btnmoedas = new JButton();
 JButton novaconta = new JButton("Nova Conta       ");
 
 // Definindo as váriaveis para os componentes a serem usados
  
 public Home(){
  HomeGui();
 }

 public void HomeGui(){
    setTitle("Real Finance");
    Container c = new Container();
    c = getContentPane();
    c.setLayout(new GridBagLayout());
    
    // Ícones usados na GUI
    ImageIcon calculadora = new ImageIcon(getClass().getResource("calculator.png"));
    ImageIcon eventos = new ImageIcon(getClass().getResource("eventos.png"));
    ImageIcon ajuda = new ImageIcon(getClass().getResource("ajuda.png"));
    ImageIcon encontrar = new ImageIcon(getClass().getResource("encontrar.png"));
    ImageIcon loginicon = new ImageIcon(getClass().getResource("login.png"));
    ImageIcon novacontaicon = new ImageIcon(getClass().getResource("novaconta.png"));
    ImageIcon minhacontaicon = new ImageIcon(getClass().getResource("minhaconta.png"));
    ImageIcon planejamentoicon = new ImageIcon(getClass().getResource("planejamento.png"));
    ImageIcon geriricon = new ImageIcon(getClass().getResource("gerir.png"));
    ImageIcon balancaicon = new ImageIcon(getClass().getResource("balança.png"));
    ImageIcon moedasicon = new ImageIcon(getClass().getResource("moedas.png"));
    ImageIcon usuarioicon = new ImageIcon(getClass().getResource("usuario.png"));
    ImageIcon graficoicon = new ImageIcon(getClass().getResource("grafico.png"));
    ImageIcon ferramentasicon = new ImageIcon(getClass().getResource("ferramentas.png"));
    ImageIcon fluxoicon = new ImageIcon(getClass().getResource("fluxo.png"));
    ImageIcon amigosicon = new ImageIcon(getClass().getResource("amigos.png"));
    ImageIcon pesquisaricon = new ImageIcon(getClass().getResource("pesquisar.png"));
    ImageIcon propriedadesicon = new ImageIcon(getClass().getResource("propriedades.png"));
    
    // Bordas para os paineis
    JLabel bevelOperacoes =  new JLabel("Operações", JLabel.CENTER);
    bevelOperacoes.setFont(new Font("timesnewroman", Font.BOLD, 20));
    bevelOperacoes.setBorder(BorderFactory.createRaisedBevelBorder());
    
    // Criando os paineis    
    JPanel painelGeral = new JPanel();
    painelGeral.setLayout(new GridBagLayout());
    
    JPanel menuPainel = new JPanel();
    menuPainel.setBackground(Color.white);
    menuPainel.setLayout(new GridBagLayout());
    
    JPanel barPainel = new JPanel();
    
    JPanel tabsPainel = new JPanel();
    tabsPainel.setLayout(new GridBagLayout());
    tabsPainel.setBackground(Color.BLUE);
    
    JPanel minhaConta = new JPanel();
    minhaConta.setLayout(new GridBagLayout());
    minhaConta.setPreferredSize(new Dimension(2000, 2000));
    
    JPanel planejamento = new JPanel();
    JPanel extras = new JPanel();
   
    // Criando as tabs
    JTabbedPane tab = new JTabbedPane();
    tab.setTabPlacement(JTabbedPane.TOP);
    tab.addTab("Finanças", null, minhaConta, "Operações sobre contas");
    tab.addTab("Planejamento", null, planejamento,  "");
    
    // Criando Menus
    JMenu minhaconta = new JMenu("Minha Conta");
    minhaconta.setIcon(minhacontaicon);
    JMenu operacoes = new JMenu("Operações");
    operacoes.setIcon(planejamentoicon);
    
    // Criando a barra que conterá os menus
    JMenuBar barraMenu = new JMenuBar();
 //barraMenu.setBackground(Color.lightGray);
    setJMenuBar(barraMenu);
 
    barraMenu.add(minhaconta);
    barraMenu.add(operacoes);
    //minhaConta.add(barraMenu);
   
    // Criando uma barra de ferramentas
    JToolBar toolBar = new JToolBar();
    toolBar.setFloatable(false);
    toolBar.setRollover(true);
    
    // Criando os componentes para a barra de ferramentas
    JLabel labelCalc = new JLabel();
    labelCalc.setText("R-Calc");
    labelCalc.setIcon(calculadora);
    labelCalc.setHorizontalTextPosition(SwingConstants.CENTER);
    labelCalc.setVerticalTextPosition(SwingConstants.BOTTOM);
    JButton btnCalc = new JButton();
    btnCalc.setToolTipText("Faça cálculos financeiros");
    btnCalc.setBorderPainted(false);
    btnCalc.add(labelCalc);
    toolBar.add(btnCalc);
    toolBar.addSeparator();
    
    
    JLabel labelEventos = new JLabel();
    labelEventos.setText("Eventos");
    labelEventos.setIcon(eventos);
    labelEventos.setHorizontalTextPosition(SwingConstants.CENTER);
    labelEventos.setVerticalTextPosition(SwingConstants.BOTTOM);
    JButton btnEventos = new JButton();
    btnEventos.setToolTipText("Crie e gere seus eventos");
    btnEventos.setBorderPainted(false);
    btnEventos.add(labelEventos);
    toolBar.add(btnEventos);
    toolBar.addSeparator();
    
    
    JLabel labelMoedas = new JLabel();
    labelMoedas.setText("R-Conversor");
    labelMoedas.setIcon(moedasicon);
    labelMoedas.setHorizontalTextPosition(SwingConstants.CENTER);
    labelMoedas.setVerticalTextPosition(SwingConstants.BOTTOM);
    
    btnmoedas.setToolTipText("Conversor de Moedas");
    //btnmoedas.addActionListener(evento);
    btnmoedas.setBorderPainted(false);
    btnmoedas.add(labelMoedas);
    toolBar.add(btnmoedas);
    toolBar.addSeparator();
    
    JLabel labelChart = new JLabel();
    labelChart.setText("FreeChart");
    labelChart.setIcon(graficoicon);
    labelChart.setHorizontalTextPosition(SwingConstants.CENTER);
    labelChart.setVerticalTextPosition(SwingConstants.BOTTOM);
    JButton btngraficos = new JButton();
    btngraficos.setToolTipText("Fluxo de Gráficos");
    btngraficos.add(labelChart);
    btngraficos.setBorderPainted(false);
    toolBar.add(btngraficos);
    toolBar.addSeparator();
    
    JLabel labelUsuario = new JLabel();
    labelUsuario.setText("Usuário");
    labelUsuario.setIcon(usuarioicon);
    labelUsuario.setHorizontalTextPosition(SwingConstants.CENTER);
    labelUsuario.setVerticalTextPosition(SwingConstants.BOTTOM);
    JButton btnusuario = new JButton();
    btnusuario.setToolTipText("Marque ou desmarque para deslogar");
    btnusuario.add(labelUsuario);
    btnusuario.setBorderPainted(false);
    toolBar.add(btnusuario);
    toolBar.addSeparator();
    
    JLabel labelBalanco = new JLabel();
    labelBalanco.setText("Balanco");
    labelBalanco.setIcon(balancaicon);
    labelBalanco.setHorizontalTextPosition(SwingConstants.CENTER);
    labelBalanco.setVerticalTextPosition(SwingConstants.BOTTOM);
    JButton btnbalanco = new JButton();
    btnbalanco.setToolTipText("Balanços e estimativas Gerais de sua conta");
    btnbalanco.add(labelBalanco);
    btnbalanco.setBorderPainted(false);
    toolBar.add(btnbalanco);
    toolBar.addSeparator();
    
    JLabel labelFerramentas = new JLabel();
    labelFerramentas.setText("Ferramentas");
    labelFerramentas.setIcon(ferramentasicon);
    labelFerramentas.setHorizontalTextPosition(SwingConstants.CENTER);
    labelFerramentas.setVerticalTextPosition(SwingConstants.BOTTOM);
    JButton btnferramentas = new JButton();
    btnferramentas.setToolTipText("Opções sobre as ferramentas");
    btnferramentas.setBorderPainted(false);
    btnferramentas.add(labelFerramentas);
    toolBar.add(btnferramentas);
    toolBar.addSeparator();
    
    JLabel labelAjuda = new JLabel();
    labelAjuda.setText("Ajuda");
    labelAjuda.setIcon(ajuda);
    labelAjuda.setHorizontalTextPosition(SwingConstants.CENTER);
    labelAjuda.setVerticalTextPosition(SwingConstants.BOTTOM);
    JButton btnAjuda = new JButton();
    btnAjuda.setToolTipText("Manual, e ajuda para o usuário");
    btnAjuda.setBorderPainted(false);
    btnAjuda.add(labelAjuda);
    toolBar.add(btnAjuda);
    toolBar.add(new JSeparator(SwingConstants.VERTICAL));
    toolBar.addSeparator(new Dimension(5, 40));
    toolBar.addSeparator(new Dimension(10, 40));
    
   
    JTextField txfprocurar = new JTextField("Buscar:", 10);
    txfprocurar.setPreferredSize(new Dimension(0, 25));
    JButton btnprocurar = new JButton();
    btnprocurar.setToolTipText("Pesquisar no Real Finance");
    btnprocurar.setBorderPainted(false);
    btnprocurar.setIcon(encontrar);
    toolBar.add(txfprocurar);
    toolBar.add(btnprocurar);
    
    // Componentes paras a barra do painel lateral
    
    login.setIcon(loginicon);
    
    login.setBorderPainted(false);
    //novaconta.addActionListener(evento);
    novaconta.setIcon(novacontaicon);
    novaconta.setBorderPainted(false);
    JButton gerirconta = new JButton("Gerir Conta       ");
    gerirconta.setIcon(geriricon);
    gerirconta.setBorderPainted(false);
    JButton btnfluxo = new JButton("Gerar Fluxo       ");
    btnfluxo.setIcon(fluxoicon);
    btnfluxo.setBorderPainted(false);
    JButton btnamigos = new JButton(" Meus Financeiros");
    btnamigos.setIcon(amigosicon);
    btnamigos.setBorderPainted(false);
    JButton btnpesquisar = new JButton("Super Pesquisa");
    btnpesquisar.setIcon(pesquisaricon);
    btnpesquisar.setBorderPainted(false);
    JButton btnpropriedades = new JButton("Outros Serviços");
    btnpropriedades.setIcon(propriedadesicon);
    btnpropriedades.setBorderPainted(false);
    
    barPainel.add(toolBar, new GridBagConstraints(0,0,3,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0,5,0,0),0,0));
    menuPainel.add(bevelOperacoes, new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new Insets(0,0,0,0),0,0)); 
    menuPainel.add(login, new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(30,5,0,5),0,0));
    menuPainel.add(novaconta, new GridBagConstraints(0,1,1,2,0,0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2,5,0,5),0,0));
    menuPainel.add(gerirconta, new GridBagConstraints(0,2,1,3,0,0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(45,5,0,5),0,0));
    menuPainel.add(btnfluxo, new GridBagConstraints(0,3,1,4,0,0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(45,5,0,5),0,0));
    menuPainel.add(btnamigos, new GridBagConstraints(0,4,1,5,0,0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(90,5,0,5),0,0));
    menuPainel.add(btnpesquisar, new GridBagConstraints(0,5,1,6,0,0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(93,5,0,5),0,0));
    menuPainel.add(btnpropriedades, new GridBagConstraints(0,6,1,7,0,0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(140,5,0,5),0,0));
    painelGeral.add(barraMenu, new GridBagConstraints(0,0,3,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0,5,0,5),0,0));
    painelGeral.add(barPainel, new GridBagConstraints(0,0,3,1,0,0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(20,0,0,0),0,0));
    painelGeral.add(menuPainel, new GridBagConstraints(0,1,1,2,0,0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0,3,5,5),0,0));
    tabsPainel.add(tab, new GridBagConstraints(0,0,7,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0,0,0,350),0,0));
    //painelGeral.add(tabsPainel, new GridBagConstraints(1,1,7,2,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0,0,0,20),0,0));
    c.add(painelGeral, new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0,0,0,0),0,0));
    
    setSize(870,540);
    setLocationRelativeTo(null);
    //setResizable(false);
    setVisible(true);
 }
 /*private class eventoGui implements ActionListener{
  public void actionPerformed(ActionEvent ev){
  if(ev.getSource() == login){   
   new Login();
  } 

  
 }
  }*/
  public static void main(String[] args){
    /*try {
      UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
    } 
    catch (Exception e) {
      e.printStackTrace();
    }*/

 try {
            // select Look and Feel
            //UIManager.setLookAndFeel("com.jtattoo.plaf.smart.SmartLookAndFeel");
   //UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
   //UIManager.setLookAndFeel( new com.nilo.plaf.nimrod.NimRODLookAndFeel());
   //UIManager.setLookAndFeel(new rpdinc.realartsinc.realfinance.Login.SubstanceLookAndFeel());
   UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
            // start application
   
   
            
        }
        catch (Exception ex) {
            ex.printStackTrace();
        }

 
    Home home =  new Home();
    home.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Compila sem erros, mas quando clico em login, não gera o evento… Agradeço a ajuda urgente… Pois quero separar meu projecto em camadas e isso está me atrasando avançar com outras funcionalidades…

Criado 26 de novembro de 2010
Ultima resposta 26 de nov. de 2010
Respostas 8
Participantes 5