gpt4 book ai didi

java - 如何刷新 JScrollPane

转载 作者:行者123 更新时间:2023-11-30 04:57:07 24 4
gpt4 key购买 nike

我的主框架包含 JScrollPane,其中列出了一些对象。通过菜单(弹出框架)我创建新对象,并且我想在 JScrollPane 中列出该对象(在 DemoFrame 类的构造函数中创建)。我该怎么做?

DemoFrame 中我的构造函数的一部分

    ArrayList<Item> i = g.getAllItems(); 
Vector allItemsVector = new Vector(i);
JList items = new JList(allItemsVector);
panel.add( new JScrollPane( items ))

在这种情况下,在弹出框架中我将新对象添加到“g”对象。难道我设计错了?

最佳答案

很大程度上取决于您没有告诉我们的信息,例如 JScrollPane 持有什么? JTable? JList?关键是更新 JScrollPane 所持有的组件,然后重新验证并重新绘制该组件。

编辑
您需要引用 JList,因此应该在构造函数的外部声明它。例如:

// GUI class
public class GuiClass {
private JList items; // declare this in the *class*

// class's constructor
public GuiClass() {
ArrayList<Item> i = g.getAllItems();
Vector allItemsVector = new Vector(i);

// JList items = new JList(allItemsVector); // don't re-declare in constructor
items = new JList(allItemsVector);

panel.add( new JScrollPane( items ))
}

然后,您可以在菜单的监听器代码中根据需要将项目添加到项目 JList 中。

关于java - 如何刷新 JScrollPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8176066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com