更新Panel上的文本而不将其作为单独的内部类

时间:2013-10-02 12:56:43

标签: java swing jpanel

我正在尝试创建一个方法,当我从任何类调用时更新特定Panel上的字符串。 descriptionPanel是一个静态面板,描述是一个静态字符串,我在实例化类时定义。我定义它的类有很多面板,所以要指定我必须使用哪个面板,我做descriptionPanel.paintComponent,这是我一直在更新的面板。 我知道这段代码不起作用,第一个错误是我无法定义方法,但这只是为了让我知道我想要做什么。

void updateDescriptionPanel(String dataToAppend){

    description = description.concat(dataToAppend);
    descriptionPanel.paintComponent(Graphics g){
            g.drawString(description, 10, 11);
    }
    descriptionPanel.repaint();

}  

我尝试了一些事情

void paintComponent(Graphics g){
g.drawString(description, 10, 11);
}

void updateDescriptionPanel(String dataToAppend){

    description = description.concat(dataToAppend);
    Graphics g=null;
    paintComponent(g);
    descriptionPanel.repaint();

}

但在这里我无法分辨哪个面板要更新。

enter image description here

public class Application_GUI {

static String description  = "" ;
    static JPanel descriptionPanel;
//other initializations

void paintComponent(Graphics g){

    g.drawString(description, 10, 11);
}
public String[] getRepositoryList(ArrayList<ResourceListObject> imagerepositorylist)
// method which uses another class to get that List
// If I get the list I print a string 
// Connection successful to the description Panel

void updateDescriptionPanel(String dataToAppend){

    description = description.concat(dataToAppend);
    Graphics g=null;
    paintComponent(g);
    descriptionPanel.repaint();
}


final JPanel panel = new JPanel();    

JPanel panel_2 = new JPanel();
//scrollBar initialization    

descriptionPanel = new JPanel();
final JComboBox comboBox = new JComboBox();
//get comboBoxOptions by making a connection and then adding it
//ActionListener inner class for the comboBox

这种情况一直持续下去 几乎所有动作听众。一些动作听众自己做的事情和一些使用其他类来做。所以我想要做的是能够从所有动作侦听器更新descriptionPanel,即当一个动作监听器调用执行某些操作时,特别是一个执行大型任务的swingWorker,当SwingWorker完成时,它应该能够更新descriptionPanel。

0 个答案:

没有答案