Olha só: tenho uma aplicação que fiz inteira no netbens;
Essa aplicação usa o AbsoluteLayout;
Estou então me aventurando em criar o .jar dessa aplicação.
Fiz o manifest:
Manifest-Version: 1.0
Created-By: NetBeans IDE
Specified-By: SwarmSystem.jarContent
Main-Class: SwarmSystem
(essa é minha classe principal, ela tem o main)
Mapeei o diretorio com o jar do AbsoluteLayout, e inclui o próprio no jar
Compilei o jar
Tentei rodar via execute do netbeans, mas não rolou. Tentei então via console:
$ ~/j2sdk_nb/j2sdk1.4.2/bin/java -jar ~/diretorio-da-aplicacao/SwarmSystem.jar
Aí ganhei o erro:
Exception in thread “main” java.lang.NoClassDefFoundError: org/netbeans/lib/awtextra/AbsoluteLayout
robertoneto, o que está acontecendo é que a classe AbsoluteLayout que vc está usando é uma classe proprietária do NetBeans, vc pode resolver o problema colocando o caminho da classe no teu CLASSPATH, aí fica blz. Mas esta não é uma boa prática de programação, isto pq, se vc passar tua classe pra alguém e esta pessoa não tive ro NetBeans instalado ou mesmo que o tenha mas não tiver a classe AbsoluteLayout no CLASSPATH não irá funcionar.
Simplifique: use o null layout. É semelhante ao Absolute, é padronizado inter-IDEs, e ainda só com ele você pode alterar o tamanho do form no NetBeans.
amm… posso estar sendo redundante… mas sou realmente nada experiente nisso… tive que fazer um trabalho pra facul… comecei fazendo no jcreator e depois incrementei tudo no netbeans… o LZ89 disse pra por no null layout… soh q qdo poe nesse soh aparece os botoes da barra de titulo do windows… tem q puxar novamente a tela pro tamanho desejado… dai usei o absolute que até agora foi o unico que me deixou (alem do null, mas tem o problema q falei) colocar os componentes onde desejo… dai como faço pra nao ficar escravo de soh funcionar onde o NB esta instalado?
offender pra resolver esse problema do null layout vc tem que setar o setBounds
o netBeans inicializa as aplicacoes assim
pra ficar do tamanho que vc quer faça isso:
nomeclasse nomeobjeto = new nomeclasse();
nomeobjeto.setBounds(int posX, int posY, int largura, int altura);
nomeobjeto.show();
Estou enfrentando o mesmo problema do nosso amigo, tanto usando o absolute layout, quanto outras que não me lembro agora… como faço para resolver este problema na prática… alguém tem um exemplo?