是否可以访问方法中创建的类?

时间:2013-10-23 14:14:05

标签: java function class variables

我这里有扩展 JFrame 的主类。在这里我有一个函数Stockmenuactionperformed,它是在另一个类库中创建的。我的问题是,如果有可能如何从另一个函数访问此类库存..(通过)一些可访问的内容(导致类库存被扩展 JPanel ).. ??

public class MainApp extends javax.swing.JFrame{

private void stockMenuActionPerformed(java.awt.event.ActionEvent evt) {                                          

    if (tabbedpaneAgenda.indexOfTab("SKLAD") == -1)
    {
        ImageIcon icon = new ImageIcon(System.getProperty("user.dir")+"\\src\\pics\\stock.png");
        stock st = new stock(MainApp.this);


    }
    else {}

}    
private void acces_class(){
   this.getClass().asSubclass(stock);
  } 
}

2 个答案:

答案 0 :(得分:0)

public class MainApp extends javax.swing.JFrame{
    private Stock st;

    private void stockMenuActionPerformed(java.awt.event.ActionEventevt){  

        if (tabbedpaneAgenda.indexOfTab("SKLAD") == -1)
        {
            ImageIcon icon = new ImageIcon(System.getProperty("user.dir")+"\\src\\pics\\stock.png");
            st = new stock(MainApp.this);
        }
        else {}
    }    
    private void acces_class(){
        st.doSomething();
    } 

答案 1 :(得分:0)

我认为你正在尝试测试java GUI设计, 据我所知,最好用MVC(模型 - 视图 - 控制)设计模式实现java GUI设计。 在上面提到的MVC中,您将分离您的JPanel(您将它放在您的视图中)和所有基本元素(将放置并能够在您的模型中更改)。 将您的主要功能放在Controller中,它将实例化您的模型和视图,以及两个适配器(作为模型和视图之间的通信器)。

在这种情况下,您不必担心访问任何内部类,因为您将拥有适配器来访问所有类型和所有变量,因为您将它们全部放入模型中。