[color=red]dia is not public in utilitarios.data; cannot be accessed from outside package[/color]
TelaPrincipal.java:
importutilitarios.data;publicclassTelaPrincipalextendsjavax.swing.JFrame{/**CreatesnewformTelaPrincipal*/publicTelaPrincipal(){initComponents();datamostra_data=newdata();mostra_data.le_Data();labelData.setText("O dia é "+mostra_data.dia+" o mes é "+mostra_data.mes);}
utilitarios/data.java
packageutilitarios;importjava.util.Date;publicclassdata{Stringmes,dia,ano,dia_semana;publicvoidle_Data(){Datedata=newDate();mes=""+data.getMonth();//0 a 11, 0 Janeiro, 11 Dezembrodia=""+data.getDate();ano=""+(1900+data.getYear());dia_semana=""+data.getDay();}
Disposição dos arquivos:
Eu declarei a classe como publica, por que não consigo ler de outros pacotes?
Sei que nisso não responde sua pergunta, mais fiquei meia hora só pra entender isso
datamostra_data=newdata();
Põe classe maiúscula aí, já ajuda mto a gente aqui ;D
Sobre o erro, creio que é porquê o os seus Strings estão sem modificador de acesso.(tá default), muda pra public.
Abraço :lol:
tpiardi
Desculpa Almeidaah, mas o que é por classe em maiuscula?
O nome da classe você quer dizer?
Eu nomeei ela do mesmo jeito que nomeio variaveis. Existe algum procedimento padrão pro nome das classes?
Obrigado, consegui concertar o erro, era o public antes do String que estava faltando mesmo.
Valeu
Almeidaah
Sim sim, pra cada tipo de variável, métodos e classes entre outros tem uma nomeação específico.
Java segue a regra do camelCase
Classe : Pessoa , TestePrograma
variável : diaDoAno, mesDoAno
método : facaIsso, facaAquilo
Espero poder ajudar, qualquer coisa pergunte aí, até mais.
Almeidaah
Cá entre nós, classe com nome minúsculo é um crime.
Pessoas serão fortemente ignorantes com você se verem sua classe ocm letra minúscula(acredite em mim).
Mais todos podemos aprender :lol:
tpiardi
Valeu cara, vou dar uma olhada no padrão camelCase.
Hm, o package eu também tenho que colocar em maiuscula?
Almeidaah
não, o package é simplesmente assim.
Usualmente reocmenda-se o uso de um site da empresa que desenvolve ou o seu nome, por exemplo.
Onde fica a classe de teste :
almeida.fernando.main (pacote que contem a classe main)
br.com.guj.logica (pacote que contem a lógica do programa
sobrenomedealgo.nomedealgo.igu (interface grafica com usuario)
simples assim.
rafaelviny
para o nome do pacote tambem é bem usado o nome da empresa, nome do modulo, que eu me lembre não tem uma regra tão especifica para isso
mas use o padrão que foi mencionado acima, esses todos os “programadores” usam (pelo menos deveriam)
rodrigoalmeida
Eu sei que não tem nada a ver com sua dúvida, mas só uma dica:
Quando for trabalhar com datas, use GregorianCalendar em vez java.util.Date. Esse é o mesmo caso de usar BigDecimal em vez de float ao trabalhar com dinheiro.
Lucas_Abbatepaolo
voltando ao seu problema, quando vc nao declara nenhum modificador de acesso na sua variavel, ela fica com o modificador default que so permite acesso a elas dentro do pacote.
I
innho
A classe está publica , faltou deixar as variáveis pública do jeito que está embaixo no/ package utilitarios/ data.java
igual o de baixo.
:mrgreen:
public String mes, dia, ano, dia_semana;
Lucas_Abbatepaolo
acho que ele já conseguiu solucionar…afinal já se passaram 2 anos…kkkkk
I
innho
É que eu estava com o mesmo problema , este fórum não ajudou muito
Lucas_Abbatepaolo
Não sei qual o seu problema…porem o que foi questionado neste tópico estava com sua solução muito bem explicada.
O problema estava no uso do modificador de acesso default…