我正在尝试编写一个简单的 Paint 应用程序,在该应用程序中,用户将能够JFrames使用绘图面板打开新的(在新线程中),并且这些框架中的每一个都会JMenuBar在顶部有一个,但是,只有最后一个打开的框架具有功能菜单栏,所有剩余的(打开的)框架都显示菜单,但菜单不起作用(单击时没有任何反应)。有谁知道如何解决这一问题?
我已经简化了代码,只留下关于JMenuBar.
代码由以下类组成:
主.java
package sample;
public class Main {
Main() {
MainFrameThread.getMainFrameThread().run();
}//end of Main()
public static void main(String[] args) {
new Main();
}
}//end of Main class
TopMenu.java
package sample;
import javax.swing.*;
public class TopMenu extends JMenuBar {
private JMenu menu_File;
private static JMenuItem menu_New;
public static JMenuItem getMenu_New() {
return menu_New;
}
public TopMenu() {
menu_File = new JMenu("File");
menu_New = new JMenuItem("New");
this.add(menu_File);
menu_File.add(menu_New);
}//end of TopMenu()
}//end of TopMenu extends JMenuBar
MainFrameThread.java
package sample;
public class MainFrameThread extends Thread {
private static MainFrameThread mainFrameThread = new MainFrameThread();
public static MainFrameThread getMainFrameThread() {
return mainFrameThread;
}
public MainFrameThread() {}
@Override
public void run() {
MainFrame mainFrame = new MainFrame();
}//end of public void run()
}//end of public class FrameSizeDialogThread
动作控制器.java
package sample;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ActionController {
private static ActionController actionController = new ActionController();
private ListenForMenu listenForMenu = new ListenForMenu();
public static ActionController getActionController() {
return actionController;
}
我被卡住了,不管我在哪里初始化 MainFrame.java,什么都没有。有人看错了吗???
UYOU
相关分类