JFrame 不显示

JFrame doesn't show

我有下一个问题:我正在从我的 Main 调用 class,它必须显示 JFrame。我什至无法继续我的程序,因为当我尝试 运行 它时,JFrame 没有显示。 我正在使用 Eclipse。

主要:

package System;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.awt.Menu;
import java.awt.*;

import javax.*;
import javax.swing.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Main {


    public static void main(String[] args) {

        new Menu();

    }   
}

第二个class:

package System;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.awt.*;
import javax.*;
import javax.swing.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Menu {

    private JFrame ventana = new JFrame("Sistema de Productos Químicos");
    private JButton sup = new JButton("Supervisor");
    private JButton oper = new JButton("Operario");

    Menu()
    {
        ventana.setSize(500,500);
        ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ventana.add(sup);
        ventana.add(oper);

        ventana.setVisible(true);
    }

}

谢谢!

因为您的 jframe class 名称是 Menu 并且您已导入

import java.awt.Menu;

这会创建一个新的 awt menu 而不是您的菜单 class,后者会创建一个 jframe

new Menu();

要解决此问题,请将菜单的名称 class 更改为不同的名称。

例如

public class MyMenu { //

如果你玩弄 System.out.println("Say something random"),当你的程序不工作并且它不是语法错误时,你会发现 Main class 甚至没有调用菜单 class,所以 "cuts down" 你的搜索区域有什么问题,我还没有找到问题,当我找到时会更新答案。