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

网友说什么泛类什么的不懂,请教下碰到这类问题是什么原因,我下面的代码从哪该才不会有提示。只完成了界面部分,代码如下://在JFrame元件中加入JLabel元件(字体),... 网友说什么泛类什么的不懂,请教下碰到这类问题是什么原因,我下面的代码从哪该才不会有提示。

只完成了界面部分,代码如下:
//在JFrame元件中加入JLabel元件(字体),JComboBox元件(含所有字体)
//及JPanel平盘元件,在JComboBox中选一种字体,该字体的名称
//就在JPanel以该字体显示

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FontDemo extends JFrame implements ItemListener{//下拉菜单也用ItemListener
private JLabel label1,label2;
private JComboBox comboBox;
private String fontName[];
private Container c;
public FontDemo(){
//初始化
label1=new JLabel("字体");

fontName=getFontList();
comboBox=new JComboBox(fontName);
label2=new JLabel("请选择字体");
//
c=getContentPane();
c.setLayout(new FlowLayout());
c.add(label1);
c.add(comboBox);
c.add(label2);
setBounds(200,200,200,400);
setVisible(true);
}
public String[] getFontList()
{
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fontList = ge.getAvailableFontFamilyNames();
//返回一个包含此 GraphicsEnvironment 中所有字体系列名称的数组
return fontList;
}
public void itemStateChanged(ItemEvent e){

}
public static void main(String args[]){
FontDemo app=new FontDemo();
app.addWindowListener(new MyWindowListener());
}
}
展开
 我来答
北美10606
推荐于2017-06-05 · TA获得超过133个赞
知道答主
回答量:141
采纳率:100%
帮助的人:63.8万
展开全部
首先:java中未经检查或者不安全的操作并不是错误!!!完全可以忽视,不像看到这个的话,在class定义的前面一行加上@SuppressWarnings("unchecked")

然后把,我猜是你的ArrayList这里出的问题,ArrayList相当于一个容器,jdk1.5以后再定义容器的时候要加上泛型,如果你装的是String的话,可以改成ArrayList<String> array = new ArrayList<String>();
当然了,int型的就对应改为ArrayList<Integer> array = new ArrayList<Integer>();

补充:
你用的是ArrayList<Integer> array = new ArrayList<Integer>();的话就应该add单个的Integer元素,但是你add的是一个int数组,所以应该是ArrayList<int[]> array = new ArrayList<int[]>();这是相对应的。

另外,其他几楼的说数组没初始化完全不对,数组本来就可以定义的时候赋值。
追问
大哥,谢谢你的回答,不过你这是复制粘贴的吧,我之前看过那贴了,关于ArrayListe我这程序完全没涉及,我只是想求个解决方法,而不是在clsss上加@SuppressWarnings("unchecked"),   难道我的每个代码都得加条这个,我想找的原因 要么避免,要么修改方法
qiangwei0407
2018-01-12
知道答主
回答量:10
采纳率:0%
帮助的人:3.1万
展开全部
你这里没使用ArrayList之类的集合。但是JComboBox的构造方法是JComboBox()或JComboBox(Object[] o),构造时需要使用泛型,需要指定类型,假如你构造的时候加入String类数组,使用泛型:JComboBox<String> jcb = new JComboBox<String>(); 或JComboBox<String> jcb = new JComboBox<String>(new String[]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
您可能需要的服务
百度律临官方认证律师咨询
平均3分钟响应 | 问题解决率99% | 24小时在线
立即免费咨询律师
13224人正在获得一对一解答
广州萤火虫6分钟前提交了问题
广州萤火虫6分钟前提交了问题
南京彩虹之旅3分钟前提交了问题
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消
还有疑问? 马上咨询36417位在线律师,3分钟快速解答
立即免费咨询律师

辅 助

模 式