制作聊天室的主界面
设置聊天框与滚动条像素透明,露出下方背景像素
.setOpaque(false);
.getViewport().setOpaque(false);
需要设置两个,查阅JDK api后发现这跟JScrollPane的实现有关。JSCrollPane有两个面板层,一个是他本身,而另外一个则是他的viewport(视口)。假设我们现在在做一个根据条件过滤的查询页面,需要对表格不断的修改然后重新显示,如果只是单元格内容变化,行列数不变,我们可以用JTable中的TableModel来实现。但是如果行列数都变了,甚至显示方式也变了。这该如何?每次都把JScrollPane删掉再重新添加?这种方式更复杂不说,如果下层面板的Layout不合适还会引发其他一系列的问题。比如说顺序,甚至重新修改JScrollPane的大小等,太麻烦,而在使用viewport的时候则可以避免这些问题,直接setViewport一下,就更新了。
用户登录数的显示行数(可以删掉)
.setVisibleRowCount(int x);
lstUser.setVisibleRowCount(20);/**可见的行数,最多几个人**/
lstUser.setFixedCellWidth(180);/**固定的单元格宽**/
lstUser.setFixedCellHeight(60);/**固定的单元格高**/
用户登录数的滑动条
水平、垂直滚动条自动出现
.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
总是出现
.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
总是隐藏
.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);