//////问题就在这里????/////////////:~
txt_show.setFont(new Font(jl2.getSelectedValue(),fontStyleInt,jl3.getSelectedIndex()));
这里没有进行类型转换,
txt_show.setFont( new Font(jl2.getSelectedValue().toString(), fontStyleInt, jl3.getSelectedIndex()));
注意编译错误的提示
symbol  : constructor Font (java.lang.Object,int,int)
location: class java.awt.Font
txt_show.setFont( new Font(jl2.getSelectedValue(), fontStyleInt, jl3.getSelectedIndex()));
                                  ^
1 error
就是说找不到这个构造函数,对照其构造函数Font(String name, int style, int size),
就可以看出来,你的类型没有转换

解决方案 »

  1.   

    font.java:198: cannot resolve symbol
    symbol  : constructor Font  (java.lang.Object,int,int)提示你constructor Font 有错误,那肯定是Font的构造方法错了,
    你应该jl2.getSelectedValue() 转化成String 类型才可以。
    txt_show.setFont( new Font(
        jl2.getSelectedValue().toString, 
        fontStyleInt, 
        jl3.getSelectedIndex()));
      

  2.   

    另外你的程序运行的过程中报错:
    java.lang.NullPointerException
    at font.updateFontTextField(font.java:177)
    at font.valueChanged(font.java:151)
    at javax.swing.JList.fireSelectionValueChanged(JList.java:1318)
    在这个函数中public void valueChanged(ListSelectionEvent lse){
    我分析了一下,是这样的原因,当你选择jl1的时候,去执行updateFontTextField();
    而这个时候jl2.getSelectedValue() 是Null,所以出现java.lang.NullPointerException
    错误。但如果你先选择jl2,就不会出现这样的错误,因为这个时候运行jl1的时候,jl2.getSelectedValue() 已经有值了,解决的办法是给jl1,jl2,jl3先附初值。