2011-10-13 47 views
1

我需要在这一个请一些帮助,追加的JTextArea及的invokeLater()

我基本上menuVIP.java和vipKeyword.java。

这是menuVIP.java

if (source == enter2) { 
      Thread blah = new Thread() { 
       String keyword = keyfield.getText(); 
       public void run() { 
        final String result; 
        vipKeyword vipK = new vipKeyword(); 
        result = vipK.keyword(keyword); 
       } 

      }; 

      blah.start(); 

这是vipKeyword.java

public class vipKeyword { 

public String keyword(String keyword) { 
    menuVIP vip = new menuVIP(); 

    String password; 
    String tbl; 
    String Final = null; 
    int dot; 
    try { 

     databaseConnection dbC = new databaseConnection(); 
     dbC.connection(); 

     PreparedStatement prep2 = dbC.conn.prepareStatement("SELECT * " 
       + "FROM Vip_tbl"); 
     ResultSet rs = prep2.executeQuery(); 

     while(rs.next()) { 
      cellnumber = rs.getString(1); 
      try { 
      final String cell; 
      cell = cellnumber; 
        SwingUtilities.invokeLater(new Runnable() { 
         menuVIP vip = new menuVIP(); 
         public void run() { 
          vip.ta.append(cell + "\n"); 
          vip.ta.repaint(); 
         } 

        }); 
return keyword; 
} 

什么,我需要知道的是如何从我的vipKeyword在SwingUtilities.invokelater “追加” 的JTextArea中()?

注:TA = JTextArea中

+0

请学习Java命名约定并严格遵守 – kleopatra

回答

1
public String keyword(String keyword) { 
    final menuVIP vip = new menuVIP(); // mark it as final 

...

SwingUtilities.invokeLater(new Runnable() { 
    //menuVIP vip = new menuVIP(); // comment it 
+0

这会否再解决该文本区不追加的问题? – Foxticity

+0

@Foxticity:你正试图追加到新的menuVIP的TextArea。对类名使用Pascal大小写。 –

+0

是的,我是新来的Java编程,但我会研究类和其他Java命名约定的命名。谢谢 – Foxticity