这个JFrame中有两个JList,一个是字体列表,一个是字号列表,
运行也不报错,只有字号列表的事件起作用,而字体的列表事件没反应。烦请各位指点下了,,搞了好久,找不出原因,郁闷中啊。。源码如下:p0522.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.EventListener;public class p0522 extends JFrame
{
Label l;
JList jFont,jSize;
JScrollPane sp;
String size[]={"13","14","15","16","18","20","24","26","28","32","36"};
public p0522()
{
Container c=this.getContentPane();
c.setLayout(new BorderLayout());
l=new Label("示例文本 Sample Text",Label.CENTER);
GraphicsEnvironment env=GraphicsEnvironment.getLocalGraphicsEnvironment();
String fontnames[]=env.getAvailableFontFamilyNames();
jFont=new JList();
jFont.setListData(fontnames);
sp=new JScrollPane(jFont);
jSize=new JList(size);
JPanel p=new JPanel();
p.setLayout(new GridLayout(1,2));
p.add(sp);
p.add(jSize);
c.add(l,"North");
c.add(p,"Center");
//注册事件处理
jFont.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
int s=l.getFont().getSize();
String f=jFont.getSelectedValue().toString();
Font newf=new Font(f,Font.PLAIN,s);
l.setFont(newf);
}
});
jSize.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
int s=Integer.parseInt((String)jSize.getSelectedValue());
Font f=l.getFont();
Font newf=new Font(f.getName(),Font.PLAIN,s);
l.setFont(newf);
}
});
}
public static void main(String[] args)
{
p0522 obj=new p0522();
obj.setSize(300,400);
obj.setVisible(true);
}
}
运行也不报错,只有字号列表的事件起作用,而字体的列表事件没反应。烦请各位指点下了,,搞了好久,找不出原因,郁闷中啊。。源码如下:p0522.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.EventListener;public class p0522 extends JFrame
{
Label l;
JList jFont,jSize;
JScrollPane sp;
String size[]={"13","14","15","16","18","20","24","26","28","32","36"};
public p0522()
{
Container c=this.getContentPane();
c.setLayout(new BorderLayout());
l=new Label("示例文本 Sample Text",Label.CENTER);
GraphicsEnvironment env=GraphicsEnvironment.getLocalGraphicsEnvironment();
String fontnames[]=env.getAvailableFontFamilyNames();
jFont=new JList();
jFont.setListData(fontnames);
sp=new JScrollPane(jFont);
jSize=new JList(size);
JPanel p=new JPanel();
p.setLayout(new GridLayout(1,2));
p.add(sp);
p.add(jSize);
c.add(l,"North");
c.add(p,"Center");
//注册事件处理
jFont.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
int s=l.getFont().getSize();
String f=jFont.getSelectedValue().toString();
Font newf=new Font(f,Font.PLAIN,s);
l.setFont(newf);
}
});
jSize.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
int s=Integer.parseInt((String)jSize.getSelectedValue());
Font f=l.getFont();
Font newf=new Font(f.getName(),Font.PLAIN,s);
l.setFont(newf);
}
});
}
public static void main(String[] args)
{
p0522 obj=new p0522();
obj.setSize(300,400);
obj.setVisible(true);
}
}
解决方案 »
- Timer的问题,请高手赐教!
- Swing 类似百度搜索的效果 求高手帮忙完善一下
- 编写关于日期处理的程序.
- 你见过着条语句吗?internalData = new String [ data.length ];
- 请问怎样才能查找一个已知数据并定位到jtable或jtree中的某行或某个节点上,且要是被选中状态?
- 关于java对NTFS文件的操作
- jdk1.4的classpath设置问题???
- java中的图像问题!(请各位帮个忙,敬请关注)
- 笔试问题,各位前辈请赐教
- applet中jdbc报错,那位大虾来帮忙?
- Java 用 Swing 写界面真的是让人很火!!
- 这段代码,为什么不能间打印机打印出来,顶出来高分相送。
jFont.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
String name=(String)jFont.getSelectedValue();
Font f=l.getFont();
Font newFont=new Font(name,f.getStyle(),f.getSize());
l.setFont(newFont);
}
});
试试这种方式