为什么JButton打开一个空框架而不是调用PMotion类?

Java程序

我有两个Java文件(类)PMotion.java和Menu.java。

Menu.java有一个按钮。当我按下该按钮时,我希望它放置当前的Menu.java框架并转到PMotion.java类。如您在Menu.java文件中看到的,

 new PMotion().setVisible(true);
            frame.dispose();

frame.dispose(); 有效,因为它关闭了Menu.java。但是它没有打开PMotion.java,而是打开了一个空白的JFrame。请注意:我只从PMotion.java复制了相关代码-实际上,它是一个可以正常运行的应用程序。感谢您的帮助!

PMotion.java

import java.awt.EventQueue;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JToolBar;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextPane;
import javax.swing.JTextArea;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JSeparator;
import javax.swing.JScrollBar;


public class PMotion extends JFrame {

    private JFrame frame;


    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    PMotion window = new PMotion();
                    window.frame.setVisible(true);

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public PMotion() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame("Projectile Motion");
        frame.setBounds(100, 100, 800, 600);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);
        frame.setResizable(false);

Menu.java

        JButton btnProjectile = new JButton("Projectile");
        btnProjectile.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                new PMotion().setVisible(true);
                frame.dispose();


            }
        });
        btnProjectile.setBounds(260, 137, 117, 29);
        frame.getContentPane().add(btnProjectile);
    }
}
卡米克尔

为什么您的类扩展JFrame,然后在构造函数中创建一个新的JFrame?

您要么:

  1. 扩展JFrame(这不是一个好主意),或者
  2. 创建一个新的JFrame(...)

但是你不会两者都做。

//frame = new JFrame("Projectile Motion");
frame = this;

在您的情况下,您可以只使用上面的代码,因为PMotion已经是JFrame。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java从另一个类打开一个框架

来自分类Dev

单击JButton时打开一个新的JFrame

来自分类Dev

在目标框架中打开一个窗口

来自分类Dev

如果从另一个类中调用它,为什么我的ArrayList为空?

来自分类Dev

解锁文件-为什么我需要打开一个新会话?

来自分类Dev

为什么提交按钮失败,并打开一个没有地址的空白页?

来自分类Dev

为什么要在顶部打开一个原始套接字?

来自分类Dev

为什么<span>打开一个新的行块?

来自分类Dev

OutofmemoryError打开一个空的活动

来自分类Dev

Java GUI-JButton从另一个类打开另一个框架

来自分类Dev

为什么从一个Java模块打开一个不存在的包?

来自分类Dev

jQuery + Bootstrap Modal,在另一个内部打开一个模态...为什么?

来自分类Dev

为什么文件(鹦鹉螺)会打开一个新窗口,尽管已经打开了?

来自分类Dev

为什么我的jQuery函数仅打开一个链接,而不打开代码中列出的其他链接?

来自分类Dev

为什么文件(鹦鹉螺)会打开一个新窗口,尽管已经打开了?

来自分类Dev

在远程X显示器上打开一个窗口(为什么“无法打开显示器”)?

来自分类Dev

在ionic框架上打开浏览器并打开一个特定的网站

来自分类Dev

我想打开一个新标签而不是一个弹出窗口

来自分类Dev

为什么必须公开一个方法?

来自分类Dev

为什么获得父类作为参数调用该方法,而不是一个获取子类作为参数的方法?

来自分类Dev

为什么rpcbind在重新启动时会打开一个新的不同端口?

来自分类Dev

为什么shell命令“ {command1; command2:}&“打开一个子shell?

来自分类Dev

为什么在我每次运行Flutter Web应用程序时都打开一个dart文件?

来自分类Dev

为什么当我尝试在laravel中下载PDF文件时,打开一个包含奇怪字符的文件?

来自分类Dev

如何首先打开一个窗口,而不是在WPF(C#)中打开MainWindow

来自分类Dev

从CPropertyPageImpl打开一个CDialogImpl

来自分类Dev

打开一个序列

来自分类Dev

打开一个端口CentOS

来自分类Dev

打开一个外部程序

Related 相关文章

  1. 1

    Java从另一个类打开一个框架

  2. 2

    单击JButton时打开一个新的JFrame

  3. 3

    在目标框架中打开一个窗口

  4. 4

    如果从另一个类中调用它,为什么我的ArrayList为空?

  5. 5

    解锁文件-为什么我需要打开一个新会话?

  6. 6

    为什么提交按钮失败,并打开一个没有地址的空白页?

  7. 7

    为什么要在顶部打开一个原始套接字?

  8. 8

    为什么<span>打开一个新的行块?

  9. 9

    OutofmemoryError打开一个空的活动

  10. 10

    Java GUI-JButton从另一个类打开另一个框架

  11. 11

    为什么从一个Java模块打开一个不存在的包?

  12. 12

    jQuery + Bootstrap Modal,在另一个内部打开一个模态...为什么?

  13. 13

    为什么文件(鹦鹉螺)会打开一个新窗口,尽管已经打开了?

  14. 14

    为什么我的jQuery函数仅打开一个链接,而不打开代码中列出的其他链接?

  15. 15

    为什么文件(鹦鹉螺)会打开一个新窗口,尽管已经打开了?

  16. 16

    在远程X显示器上打开一个窗口(为什么“无法打开显示器”)?

  17. 17

    在ionic框架上打开浏览器并打开一个特定的网站

  18. 18

    我想打开一个新标签而不是一个弹出窗口

  19. 19

    为什么必须公开一个方法?

  20. 20

    为什么获得父类作为参数调用该方法,而不是一个获取子类作为参数的方法?

  21. 21

    为什么rpcbind在重新启动时会打开一个新的不同端口?

  22. 22

    为什么shell命令“ {command1; command2:}&“打开一个子shell?

  23. 23

    为什么在我每次运行Flutter Web应用程序时都打开一个dart文件?

  24. 24

    为什么当我尝试在laravel中下载PDF文件时,打开一个包含奇怪字符的文件?

  25. 25

    如何首先打开一个窗口,而不是在WPF(C#)中打开MainWindow

  26. 26

    从CPropertyPageImpl打开一个CDialogImpl

  27. 27

    打开一个序列

  28. 28

    打开一个端口CentOS

  29. 29

    打开一个外部程序

热门标签

归档