java 使用了未经检查或不安全的操作呢?请使用-Xlint:unchecked 重新编译. 怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 使用了未经检查或不安全的操作呢?请使用-Xlint:unchecked 重新编译. 怎么解决?相关的知识,希望对你有一定的参考价值。

//例8.10 下拉列表组件
//本例应用程序用来创建一个下拉列表组件的窗口
//根据选择下拉列表的菜单可以显示不同的文字,程序运行结果如图
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Jlb extends JFrame

private JComboBox lbk;
private JLabel label;
private String names[]="北京大学","复旦大学","南京大学","武汉大学";

public Jlb(JFrame f)

Container c=getContentPane();
c.setBackground(Color.YELLOW);
f.add(c);
lbk=new JComboBox(names); //创建下拉列表对象
lbk.setMaximumRowCount(4); //设置下拉列表所能显示的列表项的最大数目
lbk.setSelectedIndex(0); //设置默认的选择项
lbk.setFont(new Font("Serif",Font.PLAIN,14)); //设置字体
lbk.addItemListener(new lbHandler()); //注册监听器

label=new JLabel("你选择了:北京大学");
label.setFont(new Font("Serif",Font.PLAIN,14));
c.add(lbk,BorderLayout.NORTH);
c.add(label,BorderLayout.CENTER);


public static void main(String []args)

Jlb d=new Jlb(new JF0("下拉列表窗口"));


private class lbHandler implements ItemListener

public void itemStateChanged(ItemEvent e)

if(e.getStateChange()==e.SELECTED)

label.setText("你选择了:"+names[lbk.getSelectedIndex()]);



参考技术A 我把你Jlb d=new Jlb(new JF0("下拉列表窗口")); 这里改为Jlb d=new Jlb(new JFrame("下拉窗口列表"));
在public Jlb(JFrame f) 中加入f.setVisible(true);编译通过实现功能追问

  测试了一下,貌似还是会出现那个“使用了未经检查或不安全的操作呢?请使用-Xlint:unchecked 重新编译. ”的问题?

参考技术B Swing 做的什么项目?追问

我也不清楚,这是课本上的一个例子。现在运行不了。其他网友回答是jdk新升级后的新特性什么的。不知道怎么修改。

本回答被提问者采纳

使用了未经检查或不安全的操作;请使用 -Xlint:unchecked 重新编译。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

//颜色选择下拉框演示

public class IconComboBoxDemo extends JFrame

JLabel iconLabel=null; //用来响应列表框选择的变化
JComboBox iconComboBox=null; //定制的选择下拉框

public IconComboBoxDemo()

//定义Object二维数组,用于初始化下拉框,参数依次为图标,显示文本,提示文本
Object[][] obj=
new ImageIcon("1.gif"),"旅游","提供旅游的最新信息",
new ImageIcon("2.gif"),"音乐","提供最新的音乐资讯,古典的、流行的...",
new ImageIcon("3.gif"),"聊天","与朋友聊天",
new ImageIcon("4.gif"),"影视","影视娱乐",
new ImageIcon("5.gif"),"家居","家居世界",
;

//初始化下拉框
iconComboBox = new JComboBox();
iconComboBox.setMaximumRowCount(3); //设置最大可视行数
iconComboBox.setRenderer(new IconRenderer()); //设置单元绘制器
for (int i=0;i<obj.length;i++) //增加数组中的所有元素到下拉框中
iconComboBox.addItem(obj[i]);


//初始化iconLabel信息
iconLabel = new JLabel();

//下拉框事件处理,用匿名类实现
iconComboBox.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent evt) //处理事件
Object[] obj = (Object[])iconComboBox.getSelectedItem(); //得到选择的内容,此处为一维数组
iconLabel.setIcon((Icon)obj[0]); //设置iconLabel的图标
iconLabel.setText(obj[1].toString()); //设置iconLabel的文本

);

//增加组件到主窗体上
this.getContentPane().setLayout(new BorderLayout()); //设置布局管理器
this.getContentPane().add(iconComboBox,BorderLayout.NORTH); //在上方增加下拉框
this.getContentPane().add(iconLabel,BorderLayout.CENTER); //在中间增加iconLabel,用于响应选择的变化
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
this.setSize(350,260); //设置窗口尺寸
this.setVisible(true); //显示窗口


public static void main(String[] args)
new IconComboBoxDemo();

参考技术A 这个不是错误,是警告,一般无需处理追问

我只是想知道为什么出现这个提示!哪个地方有问题!

追答

有两个快捷的方法:
1、加参数
-Xlint:unchecked
编译,这时候,警告就变成错误了,就会告诉你在哪行有错误了。

2、如果是用Eclipse等工具,在窗口应该有黄色的警告提示

本回答被提问者采纳

以上是关于java 使用了未经检查或不安全的操作呢?请使用-Xlint:unchecked 重新编译. 怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

Java中的使用了未经检查或不安全的操作

编写JAVA程序时,出错提示:使用未经检查或不安全操作;要了解详细信息,请使用-Xlink:unchecked重新编译

使用了未经检查或不安全的操作;请使用 -Xlint:unchecked 重新编译。

Firestore 问题:CloudFirestorePlugin.java 使用未经检查或不安全的操作

Flutter 插件:InAppPurchasePlugin.java 使用未经检查或不安全的操作

Ant出现"使用了未经检查或不安全的操作"