Mudança de JDK no NetBeans [Resolvido]

Bom dia pessoal!

Tinha algumas telas no NetBeans porém fiz uma mudança de JDK e agora aconteceu de pacotes ficarem com referências do JDK antigo.
Como o source da tela não pode ser alterado (a parte de layout) não tenho como alterar esses pacotes.
Vocês conhecem alguma solução para alterar os pacotes que estão acusando erro ?

Obrigado !

opa!

cara, faz o seguinte…
depois de instalar a JDK que vc deseja, vá em:

C:\Arquivos de programas\NetBeans 6.5\etc\

abra o arquivo netbeans.conf

e mude o caminho da variável netbeans_jdkhome para que aponte para o jdk que vc deseja

pronto!
agora o netbeans vai usar este JDK e não irá mais dar pau nos Forms :slight_smile:

também dá pra converter no braço os Forms, uma vez eu tive que fazer isso, mas é bem mais chato de se fazer, principalmente pq o netbeans nao deixa alterar o método “initComponents()”, então vc precisaria usar um outro editor.
pra saber o que precisa ser alterado é simples. Crie um form usando a jdk antiga.
depois vá em C:\Arquivos de programas\NetBeans 6.5\etc\netbeans.conf e sete para o netbeans usar a jdk mais atual.
crie outro form.

compare os dois e vc verá que as diferenças são poucas, mas se o form for muito complexo, o bixo pega…

espero que isso ajude.
[]s

sf.marcius ,

A mudança de JDK eu já havia feito, o problema é esse mesmo, os pacotes com referências do outro JDK que no novo instalado não tem. Quando muda o JDK ele não altera os pacotes dos forms antigos. Só fazendo novamente no braço pra alterar as classes do source ? Alguém sabe ?

obrigado !

vc mudou de qual JDK para qual?

como eu havia dito, basicamente vc deve comparar o fonte de forms exatamente iguais criados pelo netbeans (usando JDKs diferentes) e visualizar as diferenças para saber onde mexer…

Exemplo: criei dois forms:

Com Netbeans setado para usar JDK 1.5 update 16

  • Obs, precisa da biblioteca Extensões de Layout Swing
public class NewJFrame extends javax.swing.JFrame
{
    public NewJFrame()
    {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jToggleButton1 = new javax.swing.JToggleButton();
        jTextField1 = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jToggleButton1.setText("jToggleButton1");

        org.jdesktop.layout.GroupLayout layout =
                new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(layout.createSequentialGroup()
                        .add(135, 135, 135)
                        .add(jToggleButton1))
                    .add(layout.createSequentialGroup()
                        .add(105, 105, 105)
                        .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 210,
                                org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(90, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(77, 77, 77)
                .add(jToggleButton1)
                .add(77, 77, 77)
                .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                        org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(100, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextField jTextField1;
    private javax.swing.JToggleButton jToggleButton1;
    // End of variables declaration//GEN-END:variables
}

Com Netbeans setado para usar JDK 1.6 update 11

  • nao precisa nenhuma biblioteca adicional
public class NewJFrame extends javax.swing.JFrame
{
    public NewJFrame()
    {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jToggleButton1 = new javax.swing.JToggleButton();
        jTextField1 = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jToggleButton1.setText("jToggleButton1");

        javax.swing.GroupLayout layout =
                new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(135, 135, 135)
                        .addComponent(jToggleButton1))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(105, 105, 105)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 210,
                                javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(90, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(77, 77, 77)
                .addComponent(jToggleButton1)
                .addGap(77, 77, 77)
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE,
                        avax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(100, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextField jTextField1;
    private javax.swing.JToggleButton jToggleButton1;
    // End of variables declaration//GEN-END:variables
}

logo, da pra notar que as diferenças são poucas e estão relacionadas ao Layout (no GroupLayout pra ser mais exato).
Note que os métodos possuem nomes diferentes, mas recebem os mesmos parametros e fazem a mesma coisa.
comparando os dois com calma vc consegue captar as diferenças e efetuar a conversão.

feito

sf.marcius,

A idéia é legal, mas exatamente isso que eu queria evitar !
Tenho varias telas feitas no NetBeans que não podem ser alteradas, queria saber se há uma forma automática para reconstruir essas telas depois de ter feito a alteração de JDK…

Esqueci de postar a solução que utilizei.

Criei um novo projeto.
Repliquei meus pacotes do outro projeto com jdk diferente.
Alterei a jdk do novo projeto.
Daí fazia o seguinte.
Pegava uma tela e copiava os tamanhos.
Depois pegava todos os componentes da outra tela e colava na minha tela.
Pronto. Na tela nova com outro jdk ele gera o layout com os novos pacotes do jdk.

Obrigado pela ajuda !!

[tópico meio antigo mas estou revisando pra finalizar]