【发布时间】:2016-01-24 18:18:08
【问题描述】:
我正在尝试为 IntelliJ 创建一个弹出插件。弹出窗口包含一个 JPanel(parentPanel),其中包含一个 JList(我使用 JBList,它只是 Intellij 的一个子类)和 JTextField。列表的内容是动态构建的,取决于用户按下 TAB 时 JTextField 的内容。
这是我目前正在尝试的。结果是使用适当的元素构造了一个新的 JList,但 JPanel 保持完全相同的大小,因此大部分 JList 都被阻塞了。如何展开面板(和整个弹出窗口)以使整个列表可见?
是我在 JPanel 上做错了什么,还是弹出窗口本身的大小受到限制?
parentPanel 从这一行接收 GridLayout
this.setLayout(new GridLayout(2,1));
这是修改 JList 的代码。
DefaultListModel listModel = (DefaultListModel) parentPanel.getFileList().getModel();
listModel.removeAllElements();
VirtualFile[] children = currentPathFile.getChildren();
for(int i = 0; i < children.length; ++i) {
listModel.addElement(children[i].getPath());
}
parentPanel.remove(1); // The list is the panel's second child
parentPanel.add(new JBList(listModel));
parentPanel.revalidate();
parentPanel.repaint();
【问题讨论】:
标签: java swing intellij-idea jpanel intellij-plugin