| Autor |
Mensagem |
|
|
humm.. me parece erro no CLASSPATH então..
para apenas rodar esse programinha voce nao vai precisar declarar o CLASSPATH...
apenas para testar, remove a linha do CLASSPATH do autoexec, reinicia o computador e tenta executar com java Mensagem
|
 |
|
|
Alguns programadores não gostam muito do static pois ele quebra um pouco a OOP, eu particularmente não gosto mesmo, o uso dele deve ser apenas em último caso...
acho que se passar parametros para o método resolver seu problema, acho que voce deve seguir essa opção
|
 |
|
|
parece que ta certo o autoexec...
verifica se o nome do arquivo .java está identico com o nome da sua Classe publica
ou seja
se sua classe chamar HelloWorld o seu aruqivo deve chamar HelloWorld.java exatamente as maiusculas e minusculas e na hora de compilar nao esqueça de escrever
javac HelloWorld.java
e pra executar
java HelloWorld (sem o .class)
|
 |
|
|
Não sou um Sr. Java, mas vou tentar explicar o que eu sei...
A classe abstrata além de voce ter métodos Abstratos nela, voce também pode criar métodos non-abstract
Agora se vc possui um método Abstrato em uma Classe Normal, isso da erro, entendeu a diferença né?
Quando voce tem métodos abstrato em uma classe abstrata e uma outra classe extende ela tornando-a subclasse, você terá que implementar os métodos abstratos nelas, ou pelo menos declarar eles como abstratos na subclasse também...
Uma desvantagem da classe abstrata é que voce pode extender apenas uma Classe, entao se vc ja tem uma classe que extende por exemplo JFrame, vc nao vai conseguir extender uma classe abstrata.. uma solução pra isso seria na classe abstrata extender o JFrame e sua outra subclasse extender a Classe Abstrata...
Interface eu uso muito mas muito maissssssssssss que classes abstratas, acho que a vantagem de usar classe abstrata que além de voce criar métodos abstratos voce tb pode criar métodos non-abstract que podem usar nas sub-classes..
Pelo que eu entendo é isso.
[]´s
Junior
|
 |
|
|
deixando um pouco mais facil e ilustrando as explicações dos amigos
vc só pode chamar um método que possui o throws se vc chamar esse método dentro de um bloco try/catch senão da um compiler error.
por exemplo
isso da erro, mas se vc por a chamado do método a() dentro de um bloco try/catch funciona perfeito.
|
 |
|
|
lembrando
http://java.sun.com/docs/books/tutorial/uiswing/components/example-swing/TableDemo.java
esse aqui é um ótimo exemplo de como implementar uma classe pra TableModel e implementar outra classe (a que contem o JTable) chamando a TableModel
unico detalhe que eu vi, é que nesse exemplo a TableModel é bem mais complexa, mas é bom..
|
 |
|
|
Bom Dennys
eu geralmente criava na mão uma classe que extendia AbstratctTableModel.
Ae eu criava um objeto TableModel instanciando essa classe.
Dentro da minha TableModel eu preciso implementar alguns métodos e um dos métodos é o public String getColumnName(int vLinha) {} esse método que pega os nome e Coloca ali no lugar de A, B,C e etc....
ae por exemplo, eu queria uma JTable com Código, Nome, Cidade, dentro do meu TableModel eu criava uma Array
e depois embaixo implementava o método da classe abstrata
e as colunas aparecem legal...
o que eu vi do seu código tem um DefaultTableModel, eu nunca vi isso.. é uma classe que vc criou?? se for faça igual eu fiz e beleza..
aqui vai um exemplo bem simples de uma classe de TableModel
ae vc pode implementar novos métodos ae dentro sem problemas....
eu particularmente colocava um construtor onde vai inicializar o objetvo vCampos, pois nessa array que vai conter as informações do JTable.
eu sei que deve ter ficado meio confuso, mas qualquer dúvida sobre como criar TableModel, la uma olhada la na java.sun.com la que explica perfeito la.
|
 |
|
|
Ola Dennys
eu nao cheguei a pegar e compilar seu código
mas que eu vi é que no final vc ta dando um add primeiro no JScrollPane ae ta certo e embaixo vc deu um Add no JTable, nao precisa, pois o JScrollPane ja contem o Objeto JTable
como eu disse nos posts acima, entra na pagina da Sun e ve os exemplos deles la, ae vc tenta implementar a idéia no seu
|
 |
|
|
Ola pessoal, esse assunto é um pouco OFF, mas talves interessa pra alguém.....
Estou começando a montar algumas modelagem através da UML, mas meu Principal papel ainda é implementador e admin de rede.
A dúvida é, geralmente quando um analista vai modelar um software, principalmente usando o Diagrama de Classe que seria o fócu principal para os desenvolvedores, o analista se preocupa em colocar as Classes pensando nas Tabelas dos Software, por exemplo, se um software tem tabelas de Clientes e Funcionarios, ele cria duas Classes no Diagrama uma chamada Clientes e outra Funcionarios e pronto....
Quando nós programadores pegamos os diagramas e olhamos, nós precisamos melhorar isso e utilizar a OOP para uma melhor reutilização do Código, assim o Clientes e Funcionarios poderiam ser SubClasses ou classe filha de uma super classe chama Pessoas, onde poderá encapsular alguns atributos como Nome, Endereço, Cidade, RG etc, etc etc...
Essa criação da SuperClasse geralmente vem na visão do Programador e não do analista...
A dúvida, essa responsabilidade seria realmente do programador ou o analista ja tem que se preocupar com isso?? Como eu ja tenho uma idéia de gerar classes e etc, eu me preocupo bastante enquanto estou modelando meus software, pensando na sua implementação....
Se no Diagrama de Classe do Analista possui as Entidades (tabelas), eu posso desenvolver outro diagrama de Classe voltado para o Programador, onde minha classe não seria apenas uma tabela no Banco de Dados, mas seria a classe verdadeira da OOP?
Gostaria da experiencia do pessoal ae que ja trabalha com isso fazendo favor
Agradeço Desde Já
Junior
|
 |
|
|
não apareceu talves porque o Limite Horizontal e Vertical não foram excedidos..
da um olhada no site da sun la que explica e mostra exemplos de como fazer isso
como eu disse, faz algum tempo já que não mexo com isso, agora uso mais java com servlets, jsp, beans e etc....
|
 |
|
|
para por o JTable dentro do JScrollPane é só instanciar um Objeto JScrollPane passando para seu Construtor o Objeto JTable
supondo que sua JTable é um objeto chamado tabela vc pode fazer assim
Para alinhar os JTables eu não sei, pois usei muito pouco JTable em Java. mas da uma procura no site da sun
http://java.sun.com/j2se/1.4.1/docs/api/javax/swing/JTable.html
que la com certeza vai falar algo sobre o assunto
|
 |
|
|
o código esta certo
vc disse que compilou, nao deu erro e nao criou o .class??
vc disse que nao mexeu em nada, nem colocou o diretorio /bin/ do j2sdk no path??
como vc tentou compilar??
pra compilar vai no prompt e digita javac nomedoprograma.java
ele vai criar o .class se nao der nenhum erro
tente resolver o problema de criar o arquivo .class primeiro
ae depois pra executar tranquilo
verifique o PATH
qualquer coisa aqui no guj tem um tutorial de como instalar o j2sdk
|
 |
|
|
http://java.sun.com/docs/books/tutorial/jdbc/basics/
ae tem tudo que vc precisa
se tiver alguma duvida ae o pessoal ajuda
|
 |
|
|
Obrigado Bani por me corrigir
realmente eu não sabia que não podia por qualquer Exception na classe filha..
como eu só precisei usar isso uma vez na vida e deu certo, pois na classe pai era IOException e na filha era FileNotFoundException...
valeu pela explicação
|
 |
|
|
Ola Alex.. deixa eu dar uma explicada pra voce em um conceito básico sobre Exception...
sempre que vc chamar um método que tem throws AlgumaExcessão, vc tem que chamar esse método dentro de um block Try/Catch...
se vc tem um método public void a() throws IOException {
vc precisa chamar ele
try {
a();
} catch (IOException e) {}
entendido né??
entendo isso fica facil entender o que aconteceu com o seu programa
o primeiro código que nao tem throws no método da classe filha, não precisa do throws pois quando vc colocou a chamada do método a() dentro do construtor, ele ja sabia que iria usar o método da classe filha, se vc colocasse super.a() iria dar erro... por isso que quando vc colocou throw na classe filha deu erro, pois seu a() nao esta sendo chamado dentro de um try/catch
vc pode fazer um overriding de métodos e em cada um colocar um trhows diferente, só fique ligado pra identificar em qual método ele vai e se vc colocou a chamada do método dentro de um try/catch correspondente ao throws dessa Exception
|
 |
|
|