【发布时间】:2015-01-04 16:21:05
【问题描述】:
我在 netbeans 项目扩展上构建了应用程序。我需要在 TopComponet 中单击按钮时显示新的分隔 Jframe。但是当我调用 frame.setVisible(true) 时,什么也没有发生。我尝试了方法 pack() 并没有帮助。
public void onClick(){
MyFrame frame = new MyFrame();
frame.pack();
frame.setVisible(true);
}
我已经读过一些人有同样的问题,但我还没有找到任何解决方案。
MyFrame 类
public class MyFrame extends javax.swing.JFrame {
public MyFrame() {
initComponents();
}
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
pack();
}
}
编辑:
javax.swing.JFrame t = new javax.swing.JFrame("test");
t.pack();
t.setVisible(true);
//works
MyFrame t = new MyFrame();
t.pack();
t.setVisible(true);
//doesnt work
UserDetailWindowFrame 是 Netbeans 生成的 JFrame。
【问题讨论】:
-
你是怎么调用onClick()方法的?
-
button.addMouseListener(new java.awt.event.MouseAdapter(){....
-
好吧,问题是,MyFrame 是您为您的应用程序创建的 gui 类的名称,如果您只是创建一个新的类实例,如果您关闭一个实例,它将退出应用程序。为什么需要第二帧?
-
MyJFrame 不是应用程序的主 JFrame。应用程序是 netbeans 平台扩展。我需要在始终位于顶部的非模态窗口中单击按钮后显示一些内容。
标签: java swing netbeans jframe netbeans-platform