这几天研究了一下java的窗体编程也叫jfc编程(由于前几天受挫,所以才重新看一下这块),现总结一些经验在这里,以后随着我做项目的增多,相信这方面的会用到不少,所以会慢慢添加上的。
1.对话框:这个很有用的,在做交互时常常可以用到,有两种方法:
JOptionPane msg=new JOptionPane();
msg.showMessageDialog(null, "科目数输入错误,应该为数字!","Error",JOptionPane.ERROR_MESSAGE);
这是比较简单的方法,直接生成错误对话框,还有一种麻烦的这里就不具体讲了,方法是自己新建个Dilago对话框,然后什么label,buttion什么要用到的组件都添加好,然后在窗体中调用时往里传参数,其实和上面简单的方法都一样,只是什么都得自己做包括图片。
2.关于JList的使用方法,这个才是这篇文章的重点。呵呵
首先说明的是我用的工具是NetBeans,感觉在图形设计上,NetBeans真的是比Eclipse好的多。
(1).将JList托到Frame上,然后再代码状态添加如下代码:
javax.swing.DefaultListModel model1 = new javax.swing.DefaultListModel();
(2).然后在你要动态添加的地方加上这个代码: jListKmName.setModel(model1);
(3)之后你就什么都不用管了,所有的交给java自动完成,你所要做的只是操作model1;
例如:
model1.addElement("增加");
model1.removeElement("删除");
这时你就可以看见效果了,其实很简单.
(4)再来点高级的,就是可能有这种情况,就是当你在列表框里删除一个元素后,当你再增加元素时想保持相对位置不便,嘿嘿,别着急,马上就介绍这种方法,其实也很简单:
首先再定义一个变量:int rememberKmIndex=JList1.getSelectedIndex();
//主要是记住你当前的选中的元素索引号(不选中咋删除啊,关键是记住位置)。
然后使用 model1.remove(rememberKmIndex); //删除你当前选中的元素(切记是用索引号删除的)
接着是增加元素,用这个命令: model1.add(rememberKmIndex,"add");
//看吧,前面记住的索引号有效果了,你会惊奇的发现,在你删除的位置上增添了新加入的元素”add“;
(5)先别急着走,还有一点重要的那!!添加了这么多元素怎么取啊!!俺之前看过一篇这样的文章,上面利用是Vector之类的冬冬,用它来动态记录元素,取的时候由vector取,其实这也是个办法,但太繁琐,不使用新手,这里提供个更简单的方法:
String[] kmName = new String[model1.getSize()];
for(int i=0;i<model1.getSize();i++){
kmName[i]=(String)model1.getElementAt(i);
}
看吧,就三行,先新建个数组,大小可以用model1的大小来决定,即你多少个元素,俺的数组就多大,之后的就更简单了,一个for循环,把所有的元素都放在字符数组里,之后怎么处理就都听你的了。
总结:通过以上的5点,你应该已经掌握了如何使用JList了,什么,不会让他自动扩展成多行,那个简单,把它添加到 jScrollPane 中就都搞定了,呵呵,那就先总结到这,等以后俺用的其他冬冬多了的话会慢慢把方法都补上的。
1.对话框:这个很有用的,在做交互时常常可以用到,有两种方法:
JOptionPane msg=new JOptionPane();
msg.showMessageDialog(null, "科目数输入错误,应该为数字!","Error",JOptionPane.ERROR_MESSAGE);
这是比较简单的方法,直接生成错误对话框,还有一种麻烦的这里就不具体讲了,方法是自己新建个Dilago对话框,然后什么label,buttion什么要用到的组件都添加好,然后在窗体中调用时往里传参数,其实和上面简单的方法都一样,只是什么都得自己做包括图片。
2.关于JList的使用方法,这个才是这篇文章的重点。呵呵
首先说明的是我用的工具是NetBeans,感觉在图形设计上,NetBeans真的是比Eclipse好的多。
(1).将JList托到Frame上,然后再代码状态添加如下代码:
javax.swing.DefaultListModel model1 = new javax.swing.DefaultListModel();
(2).然后在你要动态添加的地方加上这个代码: jListKmName.setModel(model1);
(3)之后你就什么都不用管了,所有的交给java自动完成,你所要做的只是操作model1;
例如:
model1.addElement("增加");
model1.removeElement("删除");
这时你就可以看见效果了,其实很简单.
(4)再来点高级的,就是可能有这种情况,就是当你在列表框里删除一个元素后,当你再增加元素时想保持相对位置不便,嘿嘿,别着急,马上就介绍这种方法,其实也很简单:
首先再定义一个变量:int rememberKmIndex=JList1.getSelectedIndex();
//主要是记住你当前的选中的元素索引号(不选中咋删除啊,关键是记住位置)。
然后使用 model1.remove(rememberKmIndex); //删除你当前选中的元素(切记是用索引号删除的)
接着是增加元素,用这个命令: model1.add(rememberKmIndex,"add");
//看吧,前面记住的索引号有效果了,你会惊奇的发现,在你删除的位置上增添了新加入的元素”add“;
(5)先别急着走,还有一点重要的那!!添加了这么多元素怎么取啊!!俺之前看过一篇这样的文章,上面利用是Vector之类的冬冬,用它来动态记录元素,取的时候由vector取,其实这也是个办法,但太繁琐,不使用新手,这里提供个更简单的方法:
String[] kmName = new String[model1.getSize()];
for(int i=0;i<model1.getSize();i++){
kmName[i]=(String)model1.getElementAt(i);
}
看吧,就三行,先新建个数组,大小可以用model1的大小来决定,即你多少个元素,俺的数组就多大,之后的就更简单了,一个for循环,把所有的元素都放在字符数组里,之后怎么处理就都听你的了。
总结:通过以上的5点,你应该已经掌握了如何使用JList了,什么,不会让他自动扩展成多行,那个简单,把它添加到 jScrollPane 中就都搞定了,呵呵,那就先总结到这,等以后俺用的其他冬冬多了的话会慢慢把方法都补上的。