首页 > 解决方案 > 如何从另一个不同包中但在同一个项目中的另一个 JFrame 打开不同包中的 JFrame

问题描述

我正在做一个演示项目,这次我创建了不同的包并在其中添加了一些不同JFramespackages.

当我从另一个的 JFrame调用JFramea时,我希望它打开。different packagepackage

但是,我有三个包,其中一个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);
   }
}

标签: javaswingpackagejframe

解决方案


推荐阅读