问题描述:
我本人做了一个小东西,利用windows自带的messenger服务,来给局域网的机器发消息,
其中我有一个控件叫作JList(列表框),它的作用是用来列出用户的一些常用语。这些
常用语是用户自己添加进去的,我把这些常用语通过流的方式把动态的写到文件里。没有
用数据库。当用户使用的时候,会从文件里读出常用语,显示在JList(列表框)中。以方
便用户录入。但是我现在遇到一个问题:
当用户添加常用语的时候,JList(列表框)不能刷新出所添加的常用语,如果重新启动界面
所添加的常用语就显示出来了。请教高手,怎样刷新出所添加的常用语。
我试过的方法有:validate();repaint()但都不行。如有需要这个小东西源码的,请留下mail。声明:这个东西现在可以用,供学习用,但还不改进的余地,大家可以一起来交流。
我本人做了一个小东西,利用windows自带的messenger服务,来给局域网的机器发消息,
其中我有一个控件叫作JList(列表框),它的作用是用来列出用户的一些常用语。这些
常用语是用户自己添加进去的,我把这些常用语通过流的方式把动态的写到文件里。没有
用数据库。当用户使用的时候,会从文件里读出常用语,显示在JList(列表框)中。以方
便用户录入。但是我现在遇到一个问题:
当用户添加常用语的时候,JList(列表框)不能刷新出所添加的常用语,如果重新启动界面
所添加的常用语就显示出来了。请教高手,怎样刷新出所添加的常用语。
我试过的方法有:validate();repaint()但都不行。如有需要这个小东西源码的,请留下mail。声明:这个东西现在可以用,供学习用,但还不改进的余地,大家可以一起来交流。
解决方案 »
- Java 如何绘制个性化的滚动条
- 有人用过OSGI吗,如何用OSGI把jar包集成到项目中,实现可插拔
- 请教高手帮忙看一下这个程序,关于asList方法
- 请教如何将多个实现不同功能的程序组成一个程序??
- 本人学习java时的几个作品,有源代码
- stop();与interrupt()有什么不同
- 求!用socket,一对多聊天室!!!
- Java里有“抽象属性”吗?
- 关于jbuilder
- javaSE Swing如何通过事件监听动态生成一个面板
- 编译通过,执行为什么出现这种错误!Exception in thread "main" java.lang.NoClassDefFoundError: eg1
- jdbc 连接sql server的问题,我都快崩溃了!那位大哥能帮帮忙?
Constructs a ListModel from an array of objects and then applies setModel to it. 每次加载完后,重新setListData
private JList getJListDiction() {
try {
if (jListDiction == null) {
//从文件里读出的内容
Vector v = DataMgr.loadFile(DataMgr.MSG_FLAG_ID);
jListDiction = new JList(v);
jListDiction.setBounds(38, 213, 249, 145);
jListDiction.setFont(new java.awt.Font("华文细 黑",java.awt.Font.PLAIN,18));
jListDiction.setForeground(new java.awt.Color(255,153,153));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jListDiction;
}
/**
*点击添加常用语的动作按钮
*/
private JButton getJButtonDiction() {
if (jButtonDiction == null) {
jButtonDiction = new JButton();
jButtonDiction.setBounds(390, 394, 110, 45);
jButtonDiction.setText("添加常用语");
jButtonDiction.setFont(new java.awt.Font("华文细黑", java.awt.Font.PLAIN, 14));
jButtonDiction.setForeground(java.awt.Color.magenta);
jButtonDiction.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String content = JOptionPane.showInputDialog("请输入常用语:");
//将常用语写进文件
DataMgr.createFileContent(DataMgr.MSG_FLAG_ID, content);
JPanel jp = getJPanel();
jp.validate();
jp.repaint();
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButtonDiction;
}