Eu vou postar o código mais abaixo.
Antes, acredito ter reconhecido o problema, embora não saiba qual o motivo dele. Eu tinha alguns jLabel’s no meu aplicativo, mas resolvi deletá-los momentaneamente para mostrar à vocês uma imagem somente do jLabel cujo texto não aparece. Deletados os jLabel’s, comecei a criar novos, supondo que todos eles dariam o mesmo problema, certo? Acontece que os novos jLabel’s, na execução, aparecem com o texto dos jLabel’s deletados. Isso é, claro, sem que eu tenha alterado a propriedade text de algum deles.
Como eu tinha 7 jLabel’s (que foram deletados), se crio 8 novos jLabel’s, os 7 primeiros aparecem com texto de jLabel’s deletados, e o 8º aparece sem texto algum. Se eu crio um jButton, porém, como não havia nenhum jButton antes, ele já aparece sem texto, mesmo que sua propriedade text esteja definida como “jButton1”.
Deu pra entender ou ficou muito confuso?
Enfim, acredito que o problema seja por causa do seguinte código (gerado automaticamente pelo NetBeans):
É como se esse “jLabel1.text” já esteja definido. Então quando eu crio um novo jLabel1 e esse código é gerado, a sua propriedade text aparece como o text do jLabel1 que foi deletado. O mesmo acontece com “jLabel2.text”, “jLabel3.text”, etc. Por que será que isso acontece?
Para exemplificar melhor, aí estão imagens do ocorrido.
No GUI do NetBeans:
[URL=http://img228.imageshack.us/i/erronb.png/][/URL] [URL=http://g.imageshack.us/img228/erronb.png/1/][/URL]
Na execução:
[URL=http://img515.imageshack.us/i/erronb2.png/][/URL] [URL=http://g.imageshack.us/img515/erronb2.png/1/][/URL]
Como pode-se ver, na execução, o jLabel1 aparece com o texto de um jLabel que eu havia deletado anteriormente. O jButton1 e o jLabel20, por outro lado, aparecem sem texto. Isso acontece, provavelmente, porque, na geração do código…
… o “jLabel20.text” não existe. O mesmo vale para o jButton1.
Acredito, portanto, que o problema nada tenha a ver com a imagem, como eu havia imaginado.
Espero que possam me ajudar.
O código completo, como solicitado, a seguir:
package desktopapplication1;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
/**
* The application's main frame.
*/
public class DesktopApplication1View extends FrameView {
public DesktopApplication1View(SingleFrameApplication app) {
super(app);
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
mainPanel = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
lblImagem = new javax.swing.JLabel();
lblImagem.setBackground(null);
mainPanel.setName("mainPanel"); // NOI18N
mainPanel.setLayout(null);
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(desktopapplication1.DesktopApplication1.class).getContext().getResourceMap(DesktopApplication1View.class);
jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
jButton1.setName("jButton1"); // NOI18N
mainPanel.add(jButton1);
jButton1.setBounds(10, 333, 100, 50);
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
jLabel1.setBorder(javax.swing.BorderFactory.createLineBorder(resourceMap.getColor("jLabel1.border.lineColor"))); // NOI18N
jLabel1.setName("jLabel1"); // NOI18N
jLabel1.setOpaque(true);
mainPanel.add(jLabel1);
jLabel1.setBounds(120, 330, 100, 50);
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setText(resourceMap.getString("jLabel20.text"));
jLabel2.setBorder(javax.swing.BorderFactory.createLineBorder(resourceMap.getColor("jLabel2.border.lineColor"))); // NOI18N
jLabel2.setName("jLabel2"); // NOI18N
jLabel2.setOpaque(true);
mainPanel.add(jLabel2);
jLabel2.setBounds(230, 330, 100, 50);
lblImagem.setIcon(new javax.swing.ImageIcon("C:\\Documents and Settings\\Lucas Lages\\Meus documentos\\My Stuff\\Imagens\\ferrari.jpg")); // NOI18N
lblImagem.setText(resourceMap.getString("lblImagem.text")); // NOI18N
lblImagem.setVerticalAlignment(javax.swing.SwingConstants.TOP);
lblImagem.setName("lblImagem"); // NOI18N
lblImagem.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseMoved(java.awt.event.MouseEvent evt) {
lblImagemMouseMoved(evt);
}
});
mainPanel.add(lblImagem);
lblImagem.setBounds(0, 0, 480, 392);
setComponent(mainPanel);
}// </editor-fold>
private void lblImagemMouseMoved(java.awt.event.MouseEvent evt) {
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel lblImagem;
private javax.swing.JPanel mainPanel;
// End of variables declaration
}
Obrigado.