我必须插入一个JFrame,另一个类的一个JPanel。我在JFrame中有一个jMenuItem,我希望这样,当我单击jMenuItem,就会出现JPanel。
private void searchStudMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
searchStud s = new searchStud();
s.setVisible(true);
changePanel(s);
}
private void changePanel(JPanel panel) {
getContentPane().removeAll();
getContentPane().add(panel);
getContentPane().doLayout();
update(getGraphics());
}
实际的组件(我认为是一个JFrame)被更改了,必须重新验证:
private void changePanel(JPanel panel) {
getContentPane().removeAll();
getContentPane().add(panel);
revalidate();
}
只是用这个最小的代码测试了一下:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
@SuppressWarnings("serial")
public class Test extends JFrame {
public static void main(String[] args) {
new Test();
}
private static class searchStud extends JPanel {
searchStud() {
add(new JLabel("SEARCH STUD"));
}
}
private Test() {
SwingUtilities.invokeLater(this::initGUI);
}
private void initGUI() {
JButton button = new JButton("Search");
button.addActionListener(this::searchStudMenuItemActionPerformed);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
add(button);
setSize(300, 200);
validate();
setLocationRelativeTo(null);
setVisible(true);
}
private void searchStudMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
searchStud s = new searchStud();
s.setVisible(true);
changePanel(s);
}
private void changePanel(JPanel panel) {
getContentPane().removeAll();
getContentPane().add(panel);
revalidate();
}
}
我写了一个jframe与card布局如下代码: 我正在尝试调用方法来将卡片(ShowCard)从JPanel(CasaPanel)中的一个更改为另一个,它本身就是一张“卡片”。我想在点击另一个类的JPanel(CasaPanel)中的一个按钮后更改一张“卡片”。怎么做?我的意思是,我知道如何添加按钮和侦听器,但我不知道是否可以从属于该框架的Jpanel类调用JFrame中的方法?如何从其他类引用J
问题内容: 如何从另一个类中处置JFrame?我的代码在下面列出。我使用Netbeans生成表单来生成窗口。我想使用另一个类进行处理(名称为needDispose)。 NETBEANS GENERATE (重要方法是getMainFrame()) 问题答案: 这是一个如何从另一个本身就是JFrame的类中释放JFrame的示例:
问题内容: 嗨,我试图将一些文本附加到同一包中另一个类的一个小问题。以下是与JFrame有关的主要类: 我包括测试变量只是为了轻松地重新创建问题,但是无论何时运行append函数,jFrame的文本区域中都不会出现任何内容。在我的方案中,我让客户端从服务器接收文本,然后将其附加到文本框中。 顺便说一句,我正在为JFrame使用IntelliJ GUI设计器。我只包含了重新创建问题所需的代码。我仍在
如何从另一个类中处理?下面列出了我的代码。 处置类别: <代码>主窗口。main\u f.dispose()不起作用,因为它不是变量。你能帮助我吗?
一个jFrame:HomeView、一个jPanel:TopicListView、另一个jPanel:ReplyListView。 在HomeView中,我有一个菜单项,可以单击它来显示TopicListView。在TopicListView中,我希望有一个可以单击以显示ReplyListView的按钮。单击按钮时,它将调用openReplyListView()方法。该方法将创建一个新的JPane