2014-10-09 5 views
0

NetBeans의 전역 문자열에서 jLabel을 채우려 고 시도하고 있지만 문자열 리터럴 이외의 다른 것을 인쇄하려고 할 때마다 아무 것도 인쇄하지 않습니다. 나는 문자열을 직접 인쇄 해 보았고 가장 최근의 시도는 get() 메소드를 사용했다. jLabel이 문자열에서 인쇄하지 않습니다

은 여기에 라인 73에 라벨을 채우는거야, 지금까지의 코드입니다 :

public class ChatWindow extends javax.swing.JFrame { 

    private Integer userID; 
    private String otherPerson = ""; 

    /** 
    * Creates new form ChatWindow 
    * @param id 
    */ 
    public ChatWindow(int id) { 
     initComponents(); 
     userID = id; 
     otherPerson = userID.toString(); 
     this.setVisible(true); 
    } 

    /** 
    * 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() { 

     jScrollPane1 = new javax.swing.JScrollPane(); 
     jTextArea1 = new javax.swing.JTextArea(); 
     jButton1 = new javax.swing.JButton(); 
     jButton2 = new javax.swing.JButton(); 
     jTextField1 = new javax.swing.JTextField(); 
     otherPersonLabel = new javax.swing.JLabel(); 
     menuBar = new javax.swing.JMenuBar(); 
     fileMenu = new javax.swing.JMenu(); 
     openMenuItem = new javax.swing.JMenuItem(); 
     saveMenuItem = new javax.swing.JMenuItem(); 
     saveAsMenuItem = new javax.swing.JMenuItem(); 
     exitMenuItem = new javax.swing.JMenuItem(); 
     editMenu = new javax.swing.JMenu(); 
     cutMenuItem = new javax.swing.JMenuItem(); 
     copyMenuItem = new javax.swing.JMenuItem(); 
     pasteMenuItem = new javax.swing.JMenuItem(); 
     deleteMenuItem = new javax.swing.JMenuItem(); 
     helpMenu = new javax.swing.JMenu(); 
     contentsMenuItem = new javax.swing.JMenuItem(); 
     aboutMenuItem = new javax.swing.JMenuItem(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 

     jTextArea1.setBackground(new java.awt.Color(248, 248, 248)); 
     jTextArea1.setColumns(20); 
     jTextArea1.setRows(5); 
     jTextArea1.setText("ContactName: FloopyNoops\nYou: Yes, floopynoops"); 
     jScrollPane1.setViewportView(jTextArea1); 

     jButton1.setText("Send"); 

     jButton2.setText("Save"); 

     jTextField1.setText("jTextField1"); 

     otherPersonLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N 
     otherPersonLabel.setText(getLabelText()); 

     fileMenu.setMnemonic('f'); 
     fileMenu.setText("File"); 

     openMenuItem.setMnemonic('o'); 
     openMenuItem.setText("Open"); 
     fileMenu.add(openMenuItem); 

     saveMenuItem.setMnemonic('s'); 
     saveMenuItem.setText("Save"); 
     fileMenu.add(saveMenuItem); 

     saveAsMenuItem.setMnemonic('a'); 
     saveAsMenuItem.setText("Save As ..."); 
     saveAsMenuItem.setDisplayedMnemonicIndex(5); 
     fileMenu.add(saveAsMenuItem); 

     exitMenuItem.setMnemonic('x'); 
     exitMenuItem.setText("Exit"); 
     exitMenuItem.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       exitMenuItemActionPerformed(evt); 
      } 
     }); 
     fileMenu.add(exitMenuItem); 

     menuBar.add(fileMenu); 

     editMenu.setMnemonic('e'); 
     editMenu.setText("Edit"); 

     cutMenuItem.setMnemonic('t'); 
     cutMenuItem.setText("Cut"); 
     editMenu.add(cutMenuItem); 

     copyMenuItem.setMnemonic('y'); 
     copyMenuItem.setText("Copy"); 
     editMenu.add(copyMenuItem); 

     pasteMenuItem.setMnemonic('p'); 
     pasteMenuItem.setText("Paste"); 
     editMenu.add(pasteMenuItem); 

     deleteMenuItem.setMnemonic('d'); 
     deleteMenuItem.setText("Delete"); 
     editMenu.add(deleteMenuItem); 

     menuBar.add(editMenu); 

     helpMenu.setMnemonic('h'); 
     helpMenu.setText("Help"); 

     contentsMenuItem.setMnemonic('c'); 
     contentsMenuItem.setText("Contents"); 
     helpMenu.add(contentsMenuItem); 

     aboutMenuItem.setMnemonic('a'); 
     aboutMenuItem.setText("About"); 
     helpMenu.add(aboutMenuItem); 

     menuBar.add(helpMenu); 

     setJMenuBar(menuBar); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addContainerGap() 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE) 
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
         .addComponent(jTextField1) 
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 
          .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
          .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) 
        .addGroup(layout.createSequentialGroup() 
         .addComponent(otherPersonLabel) 
         .addGap(0, 0, Short.MAX_VALUE))) 
       .addContainerGap()) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(5, 5, 5) 
       .addComponent(otherPersonLabel) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
       .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addGap(6, 6, 6) 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 
        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addGroup(layout.createSequentialGroup() 
         .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) 
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
         .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE))) 
       .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
     ); 

     pack(); 
    }// </editor-fold>       

    private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {            
     this.dispose(); 
    }            

    private String getLabelText(){ 
     return otherPerson; 
    } 

    // Variables declaration - do not modify      
    private javax.swing.JMenuItem aboutMenuItem; 
    private javax.swing.JMenuItem contentsMenuItem; 
    private javax.swing.JMenuItem copyMenuItem; 
    private javax.swing.JMenuItem cutMenuItem; 
    private javax.swing.JMenuItem deleteMenuItem; 
    private javax.swing.JMenu editMenu; 
    private javax.swing.JMenuItem exitMenuItem; 
    private javax.swing.JMenu fileMenu; 
    private javax.swing.JMenu helpMenu; 
    private javax.swing.JButton jButton1; 
    private javax.swing.JButton jButton2; 
    private javax.swing.JScrollPane jScrollPane1; 
    private javax.swing.JTextArea jTextArea1; 
    private javax.swing.JTextField jTextField1; 
    private javax.swing.JMenuBar menuBar; 
    private javax.swing.JMenuItem openMenuItem; 
    private javax.swing.JLabel otherPersonLabel; 
    private javax.swing.JMenuItem pasteMenuItem; 
    private javax.swing.JMenuItem saveAsMenuItem; 
    private javax.swing.JMenuItem saveMenuItem; 
    // End of variables declaration     

} 
+0

자원 봉사자가 기대할만한 많은 관련이없는 코드입니다. 더 나은 도움을 받으려면 문제를 보여주는 [Minimal, Complete, Verifiable Example] (http://stackoverflow.com/help/mcve)을 게시하십시오. – splungebob

답변

0

내가 생성자가 문제 믿습니다.

public ChatWindow(int id) { 
    initComponents(); //otherPerson = ""; 
    userID = id; 
    otherPerson = userID.toString(); //otherPerson = id; 
    this.setVisible(true); 
} 

otherPerson이 설정되기 전에 구성 요소를 초기화합니다. otherPerson을 설정 한 후 initComponents으로 이동하면 다시 작동합니다.

+0

그는 실제로 ChatWindow를 인스턴스화하지 않습니다. otherPerson이 설정된 오브젝트를 작성하지 않으면 순서는 중요하지 않습니다. – MarsAtomic

+0

고마워요, 그게 다야! 확실히 나를 지나쳤습니다. –

+0

@MarsAtomic 그는 HomeWindow 나 다른 클래스의 main 메소드에서이를 인스턴스화 할 수 있습니다. – Compass

0

"initcomponent"를 먼저 호출 한 다음 "otherPerson"클래스 구성원을 초기화하고 있습니다. 다음과 같이하십시오 :

public ChatWindow(int id) 
{ 
    userID = id; 
    otherPerson = userID.toString(); 

    initComponents(); 
    this.setVisible(true); 
} 
관련 문제