O que seria isso? jTextArea.setFont(jTextArea1.getFont())

5 respostas
PauloBrito

Tenho um jTextArea que, após sair do NetBeans 6 e ir para o 7, perde a informação de fonte na execução. Na IDE a fonte aparece certinha. A fonte é a padrão tahoma 11. Vejamos algo interessante.

Se eu deixar a fonte como tahoma 11 plain, o código fica assim:

jTextArea1.setColumns(20);
        jTextArea1.setEditable(false);
        jTextArea1.setLineWrap(true);
        jTextArea1.setRows(2);
        jTextArea1.setText("Para que esta importação funcione, é necessário que os bilhetes já estejam importados no Mesa PC e que este esteja fechado (esta é uma limitação dos arquivos mdb)");
        jTextArea1.setWrapStyleWord(true);
        jTextArea1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jTextArea1.setOpaque(false);
        jScrollPane1.setViewportView(jTextArea1);

Se eu selecionar “Derive font from the default font”, fica assim:

jTextArea1.setColumns(20);
        jTextArea1.setEditable(false);
        jTextArea1.setFont(jTextArea1.getFont());
        jTextArea1.setLineWrap(true);
        jTextArea1.setRows(2);
        jTextArea1.setText("Para que esta importação funcione, é necessário que os bilhetes já estejam importados no Mesa PC e que este esteja fechado (esta é uma limitação dos arquivos mdb)");
        jTextArea1.setWrapStyleWord(true);
        jTextArea1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jTextArea1.setOpaque(false);
        jScrollPane1.setViewportView(jTextArea1);

Vejam que na linha 3 do segundo exemplo aparece um código muito esquisito!

jTextArea1.setFont(jTextArea1.getFont())

Nos dois casos, na IDE a fonte aparece correta, mas na execução ela vai para uma fonte mono-espaçada e grande.

5 Respostas

W

vai ser é esse teu netbeans 7 ai, mal acabou de sair o 6 :lol:

PauloBrito

Bem observado Willy! Me enganei na hora de escrever. Pena que sua observação não contribuiu em nada! Mas mesmo assim, obrigado pela resposta!

PauloBrito

Só pra constar então, o problema está acontecendo no NetBeans 6.0:

Product Version: NetBeans IDE 6.0 (Build 200711261600)
Java: 1.6.0_01; Java HotSpot™ Client VM 1.6.0_01-b06
System: Windows XP version 5.1 running on x86; Cp1252; pt_BR (nb)

Não queria usar o POG pra resolver… Será que alguém já passou por isso ae?

PauloBrito

Mais alguns dados. Só pra ficar mais fácil de entender, tirei algumas screenshots do problema.

No NetBeans fica assim:

Já na execução, fica assim:

E esse é o código gerado pelo NetBeans, lembrando que a fonte do jTextArea1 está como “Derive the font from the default font”. Se eu colocar uma fonte direta nesta propriedade, o código jTextArea.setFont() desaparece, mas o resultado é o mesmo:

private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jcobAno = new javax.swing.JComboBox();
        jLabel1 = new javax.swing.JLabel();
        jcobMes = new javax.swing.JComboBox();
        jLabel2 = new javax.swing.JLabel();
        jchbSobrescever = new javax.swing.JCheckBox();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        jProgressBar = new javax.swing.JProgressBar();
        jbtnCancelar = new javax.swing.JButton();
        jbtnImportar = new javax.swing.JButton();
        jScrollPane2 = new javax.swing.JScrollPane();
        jtxaLog = new javax.swing.JTextArea();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Importar bilhetes do Mesa PC");
        setFont(new java.awt.Font("Tahoma", 0, 11));
        setLocationByPlatform(true);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Bilhetes"));

        jLabel1.setText("Ano");

        jcobMes.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" }));
        jcobMes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jcobMesActionPerformed(evt);
            }
        });

        jLabel2.setText("Mês");

        jchbSobrescever.setText("Sobrescrever bilhetes já importados");
        jchbSobrescever.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        jchbSobrescever.setMargin(new java.awt.Insets(0, 0, 0, 0));

        jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));

        jTextArea1.setColumns(20);
        jTextArea1.setEditable(false);
        jTextArea1.setFont(jTextArea1.getFont()); /* <<<< código estranho */
        jTextArea1.setLineWrap(true);
        jTextArea1.setText("Para que a importação funcione, os bilhetes já devem estar importados pelo Mesa PC e este deve estar fechado. Esta é uma limitação dos arquivos mdb (Access)");
        jTextArea1.setWrapStyleWord(true);
        jTextArea1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jTextArea1.setOpaque(false);
        jScrollPane1.setViewportView(jTextArea1);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 437, Short.MAX_VALUE)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jcobMes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(24, 24, 24)
                        .addComponent(jLabel1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jcobAno, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 29, Short.MAX_VALUE)
                        .addComponent(jchbSobrescever)))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jcobMes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1)
                    .addComponent(jcobAno, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jchbSobrescever))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jProgressBar.setMaximum(1000);

        jbtnCancelar.setText("Cancelar");
        jbtnCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbtnCancelarActionPerformed(evt);
            }
        });

        jbtnImportar.setText("Importar");
        jbtnImportar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbtnImportarActionPerformed(evt);
            }
        });

        jtxaLog.setColumns(20);
        jtxaLog.setFont(new java.awt.Font("Tahoma", 0, 10));
        jtxaLog.setRows(5);
        jScrollPane2.setViewportView(jtxaLog);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 469, Short.MAX_VALUE)
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jbtnImportar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jbtnCancelar))
                    .addComponent(jProgressBar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 469, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 125, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jProgressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jbtnImportar)
                    .addComponent(jbtnCancelar))
                .addContainerGap())
        );

        pack();
    }
PauloBrito

Bom, como não obtive nenhuma ajuda e também não consegui resolver o problema, tive que me utilizar do POG…

initComponents();
jtxaInfo.setFont(new Font("Tahoma", Font.PLAIN, 11));
Criado 2 de janeiro de 2008
Ultima resposta 31 de jan. de 2008
Respostas 5
Participantes 2