m0_46634941 2020-09-04 23:42 采纳率: 100%
浏览 451
已采纳

import static javax.swing.JFrame.*;在eclipse里左边有黄色感叹号,这是为啥?

求助,照着书上打的代码,但运行结果不一样,很多没没显示出来,代码里import static javax.swing.JFrame.*;左边有感叹号,这些都是为啥呀

图片说明图片说明

public class Example9_2 {
public static void main(String args[]) {
WindowMenu win = new WindowMenu("带菜单的窗口",20,30,200,190);
}
}

import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import static javax.swing.JFrame.*;
public class WindowMenu extends JFrame {
    JMenuBar menubar;
    JMenu menu,subMenu;
    JMenuItem item1,item2;
    public WindowMenu() {}
    public WindowMenu(String s,int x,int y,int w,int h) {
        init(s);
        setLocation(x,y);
        setVisible(true);
        setSize(w,h);
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    }
    void init(String s) {
        setTitle(s);
        menubar = new JMenuBar();
        menu = new JMenu("菜单");
        subMenu = new JMenu("软件项目");
        item1 = new JMenuItem("Java话题",new ImageIcon("1.jpg"));
        item2 = new JMenuItem("动画话题",new ImageIcon("2.jpg"));
        item1.setAccelerator(KeyStroke.getKeyStroke('A'));
        item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
        menu.add(item1);
        menu.addSeparator();
        menu.add(item2);
        menu.add(subMenu);
        subMenu.add(new JMenuItem("汽车销售系统",new ImageIcon("3.jpg")));
        subMenu.add(new JMenuItem("农场信息系统",new ImageIcon("4.jpg")));
        menubar.add(menu);
        setJMenuBar(menubar);
    }
}

  • 写回答

2条回答 默认 最新

  • wifiaaa 2020-09-05 02:06
    关注

    您好,首先第一个黄色的标志,您把鼠标放在上面有错误提示,大致是这种The import javax.swing.JFrame is never used。意思是说你导入的
    javax.swing.JFrame 包没有使用,也就是多余的,也就是说不import程序也可以正常运行。
    第二个黄色的标志,The serializable class WindowMenu does not declare a static final serialVersionUID field of type long,这个是警告
    信息,意思是说WindowMenu这个类没有声明一个静态最终的成员变量用于序列化,简而言之,就是编译器希望你多写这样一句话
    private static final long serialVersionUID = 1L; 这行语句的意思是创建了一个serialVersionUID变量用于序列化。序列化的意思是:一个类
    想要在网络上或其他地方进行传输,那么这个类必须能够以二进制的形式表示,并能将二进制转化为类,而序列化就是做这个的。通俗来说,
    一个类想要以比特位的方式进行传输,那么它就必须实现序列化,当然你不定义那个变量也可以实现序列化,不定义编译器应该会分配一个默认值的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 前端echarts坐标轴问题
  • ¥15 CMFCPropertyPage
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
  • ¥15 谁会P4语言啊,我想请教一下
  • ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
  • ¥50 求解vmware的网络模式问题 别拿AI回答