在其他方法中使用时,无法解析JComponent名称

萨特南

我正在遵循youtube教程(http://www.youtube.com/watch?v=wpbQ0DCFF0M)来用数据库表填充名为“ comboAccountName”的JCombobox。我的数据库连接是在另一个类中设置的。

代码如下-

public class Execute extends JFrame {
/**
 * 
 */
private static final long serialVersionUID = 1L;




//---------------------------------------------------------------------------------------------------------------------


public Execute() 
{

.............other code...............
JComboBox comboAccountName = new JComboBox();
    comboAccountName.setBounds(313, 31, 302, 20);
    getContentPane().add(comboAccountName);

.............other code...............

}

void PopulateJCB()
{
    String queryString = "SELECT DISTINCT [Account Name] FROM main ORDER BY [Account Name]";
    try
    {

        Connection statJCBaccountname = DatabaseConnection.ConnectDB();
        Statement stmt = statJCBaccountname.createStatement();
        ResultSet rsJCBaccountname = stmt.executeQuery(queryString);

        while (rsJCBaccountname.next())
        {
            comboAccountName.addItem(rsJCBaccountname.getString(1));
            System.out.println(rsJCBaccountname.getString(1));
        }
    }
    catch (SQLException e)
    {
        e.printStackTrace();
    }

}

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Execute frame1 = new Execute();
    frame1.setVisible(true);
    PopulateJCB();

}

需要您帮助的2个错误

comboAccountName cannot be 

解决

发生在while循环内的下一行

comboAccountName.addItem(rsJCBaccountname.getString(1));

Cannot make a static reference to the non-static method PopulateJCB() from the type 

执行

当我尝试调用PopulateJCB()时发生;在主要方法中

我知道教程视频中的代码并不完全相同,但是我正在尝试做类似的事情。请帮忙。

充满鳗鱼的气垫船

范围!您在构造函数内部声明了comboAccountName,因此它仅在构造函数内部可见。尝试在其他地方使用它会失败。解决方案:在类级别的构造函数外部声明它。

所以不是:

public class Execute extends JFrame {

  public Execute() 
  {
    JComboBox comboAccountName = new JComboBox(); // this guy is visible only in here
    comboAccountName.setBounds(313, 31, 302, 20);  // don't do this!
    getContentPane().add(comboAccountName);
  }

反而:

public class Execute extends JFrame {
  private JComboBox comboAccountName = new JComboBox();

  public Execute() 
  {
    comboAccountName.setBounds(313, 31, 302, 20);
    getContentPane().add(comboAccountName);
  }

接下来,我们将讨论您使用空布局setBounds(...)和绝对定位的情况。虽然对于新手来说,这似乎是创建复杂GUI的最佳方法,但是您对Swing GUI的创建工作越多,您就会发现,这样做越会使您的GUI变得直截了当,将其画在一个非常狭窄的角落,很难扩展或增强。只是不要这样做。


至于这个错误:

无法从类型静态引用非静态方法PopulateJCB()

您必须创建该类的实例,然后在该实例上而不是在类本身上调用该方法。

所以不是:

public static void main(String[] args) {
// TODO Auto-generated method stub   // please clean your code of this before posting here
Execute frame1 = new Execute();
frame1.setVisible(true);
PopulateJCB(); 

但:

public static void main(String[] args) {
Execute frame1 = new Execute();
frame1.setVisible(true);
frame1.PopulateJCB(); // call it on the Execute instance, frame1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在其他方法中使用变量?

来自分类Dev

在其他方法中使用List(arraylist)(java)

来自分类Dev

在其他方法中使用变量?

来自分类Dev

在方法中创建数组,并在其他方法中使用它

来自分类Dev

如何在其他方法中使用定义的方法

来自分类Dev

无法在其他方法中访问变量

来自分类Dev

如何在onCreat()中具有变量的值以在其他方法中使用

来自分类Dev

如何在其他方法中使用“ _init_”的参数?

来自分类Dev

如何存储创建的POST请求ID值以在其他方法中使用

来自分类Dev

如何在onCreat()中具有变量的值以在其他方法中使用

来自分类Dev

在其他方法中使用Textview.setText Android

来自分类Dev

从AsyncTask / doInBackground返回多个值,并在其他方法中使用它

来自分类Dev

如何在其他方法中使用“ _init_”的参数?

来自分类Dev

如何在其他方法调用中使用传递的参数?

来自分类Dev

如何在其他方法中使用来自 observable 的数据?

来自分类Dev

如何运行get json并保存为变量,然后在其他方法中使用

来自分类Dev

错误:无法在其他方法中定义的内部类中引用非最终变量名称

来自分类Dev

在TSQL中使用xml.modify或其他方法更改元素名称

来自分类Dev

除了main之外,在其他方法中使用打印语句是否更有效?

来自分类Dev

在Java中使用其他方法签名

来自分类Dev

Fullcalendar无法使用其他方法Vue JS

来自分类Dev

小写功能无法在其他功能中使用

来自分类Dev

我无法在其他陈述中使用scanf()

来自分类Dev

Applescript变量无法在其他脚本中使用

来自分类Dev

Java:使用在其他方法和类的main方法中创建的数组

来自分类Dev

在其他方法中调用参数化方法

来自分类Dev

在其他方法中调用带参数的方法

来自分类Dev

在其他魔术方法中使用魔术方法

来自分类Dev

使用接口在其他包中使用方法

Related 相关文章

  1. 1

    在其他方法中使用变量?

  2. 2

    在其他方法中使用List(arraylist)(java)

  3. 3

    在其他方法中使用变量?

  4. 4

    在方法中创建数组,并在其他方法中使用它

  5. 5

    如何在其他方法中使用定义的方法

  6. 6

    无法在其他方法中访问变量

  7. 7

    如何在onCreat()中具有变量的值以在其他方法中使用

  8. 8

    如何在其他方法中使用“ _init_”的参数?

  9. 9

    如何存储创建的POST请求ID值以在其他方法中使用

  10. 10

    如何在onCreat()中具有变量的值以在其他方法中使用

  11. 11

    在其他方法中使用Textview.setText Android

  12. 12

    从AsyncTask / doInBackground返回多个值,并在其他方法中使用它

  13. 13

    如何在其他方法中使用“ _init_”的参数?

  14. 14

    如何在其他方法调用中使用传递的参数?

  15. 15

    如何在其他方法中使用来自 observable 的数据?

  16. 16

    如何运行get json并保存为变量,然后在其他方法中使用

  17. 17

    错误:无法在其他方法中定义的内部类中引用非最终变量名称

  18. 18

    在TSQL中使用xml.modify或其他方法更改元素名称

  19. 19

    除了main之外,在其他方法中使用打印语句是否更有效?

  20. 20

    在Java中使用其他方法签名

  21. 21

    Fullcalendar无法使用其他方法Vue JS

  22. 22

    小写功能无法在其他功能中使用

  23. 23

    我无法在其他陈述中使用scanf()

  24. 24

    Applescript变量无法在其他脚本中使用

  25. 25

    Java:使用在其他方法和类的main方法中创建的数组

  26. 26

    在其他方法中调用参数化方法

  27. 27

    在其他方法中调用带参数的方法

  28. 28

    在其他魔术方法中使用魔术方法

  29. 29

    使用接口在其他包中使用方法

热门标签

归档