【发布时间】:2015-07-21 08:25:48
【问题描述】:
IntelliJ IDEA 对 GUI 表单使用了不同的方法,它没有扩展 JFrame,而是将所有 GUI 代码隐藏在 .form 文件中,并在 Bound 类的 main() 中实例化表单。
例如,我在项目中有两个表单。登录和页面。
在任何其他 IDE 中,我会在使用成功登录后调用 Page.java
Page page = new Page();
page.setVisible(true);
它之所以有效,是因为 Page 扩展了 JFrame 类,因此具有 setVisible() 方法。但是如何在 Intellij 中做到这一点?
编辑: 页面.java
public class Page {
private JButton uploadAFileButton;
private JPanel panel1;
private JButton downloadSelectedFileButton;
private JButton deleteSelectedFileButton;
private JList list1;
private JButton refreshFileListButton;
public static void main(String[] args) {
JFrame frame = new JFrame("ControlForm");
frame.setContentPane(new Page().panel1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
【问题讨论】:
-
“.form”文件只是基于核心 Swing 组件的 UI 表示。你的表单是从什么扩展而来的?
-
如果使用内置表单设计器创建 gui 表单,则该表单不会从任何东西扩展。我包含了 Page.java 的源代码
-
看起来它能够将大多数组件放入 JPanel 中,这里命名为 panel1,但我确信它允许您重命名。那么,为什么不给你的类一个
getPanel1()方法或类似的更适合你的程序命名的方法,然后以这种方式使用你的组件呢? -
是什么阻止你添加
extends JFrame?
标签: java swing user-interface intellij-idea