java - 如何从另一个不同包中但在同一个项目中的另一个 JFrame 打开不同包中的 JFrame
问题描述
我正在做一个演示项目,这次我创建了不同的包并在其中添加了一些不同JFrames
的packages
.
当我从另一个的 JFrame调用JFrame
a时,我希望它打开。different package
package
但是,我有三个包,其中一个package com.mkw.adminpanel;
包含一个JFrame
名为Admin并且通过单击此处的按钮,我想package com.mkw.loginpanel;
在其中打开JFrame
命名的Start。但它没有打开。并且这个包内package com.mkw.studentpanel;
名为Start的框架正在打开。
JButton actionperformed的包名package com.mkw.adminpanel;
代码如下:
package com.mkw.adminpanel;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import com.mkw.studentpanel.Start;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Admin extends JFrame {
private JPanel contentPane;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Admin frame = new Admin();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Admin() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
dispose();
Start s = new Start();
s.setVisible(true);
}
});
btnNewButton.setBounds(175, 182, 89, 23);
contentPane.add(btnNewButton);
}
}
解决方案
推荐阅读
- jquery - 分隔具有相同类名的 div
- azure-devops - 在 azure devops 管道中存储安装程序二进制文件的位置
- docker - 如何创建 Dockerfile 以便容器可以在不立即退出的情况下运行
- php - 在没有安装整个 symfony 的情况下在 Symfony 控制台程序上启用 Sentry
- jenkins-pipeline - 如何使用 jobname/{env.BRANCH_NAME} 触发多分支下游作业
- python - Pyinstaller 使用外部库创建可执行文件
- android - 使用 xml 属性使一个 TextView 对象与另一个对象重叠
- javascript - 如何从另一个对象向 json 对象中添加数据?
- azure - 我应该向 Azure SQL 中的用户添加哪个角色(RABC)以允许他使用 SSMS 进行访问?
- selenium - 我们可以在 docker 上安装 safari 和 edge webDriver 吗?