JScrollPane竖直滚动条的监控问题

sonic_hkj 2006-12-20 07:37:00
我想得到的效果是当我去拉竖直滚动条的时候,才去更改lbl的值,但是这里一开始运行程序就已经把lbl的值改成"你滚动了垂直滚动条111!"
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import java.awt.event.ItemEvent;

import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

class Sample07JList extends JFrame{
JLabel lbl = new JLabel("OK");
JScrollBar bar;
JList moviestars;
JLabel lblTitle;
JScrollPane scrollObj;
public Sample07JList(){
String stars[] = {"安东尼奥.班德拉斯","来昂纳多.迪卡普尼奥", "桑德拉.布洛克","休.格兰特","朱莉亚.罗伯茨","dddddd","dddddd","dddddd"};
JPanel pnl=new JPanel();
lblTitle = new JLabel("您最喜欢哪位电影明星呢?");

moviestars = new JList(stars);
moviestars.setFixedCellWidth(130);
moviestars.setVisibleRowCount(4);
scrollObj = new JScrollPane(moviestars,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
bar = scrollObj.getVerticalScrollBar();
bar.addAdjustmentListener(new ScrollEvent());
pnl.add(lblTitle);
pnl.add(scrollObj);
pnl.add(lbl);
getContentPane().add(pnl);
setSize(500,500);
setVisible(true);
}
class ScrollEvent implements AdjustmentListener {

public void adjustmentValueChanged(AdjustmentEvent e) {

lbl.setText("你滚动了垂直滚动条111!");
}

}

public static void main(String args[]){
new Sample07JList();

}
}
...全文
210 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mavina 2006-12-22
  • 打赏
  • 举报
回复
楼上的能讲具体点吗?
gtlang78 2006-12-21
  • 打赏
  • 举报
回复
你把这句
bar.addAdjustmentListener(new ScrollEvent()); 移到 setVisible(true);后面就行了
sonic_hkj 2006-12-21
  • 打赏
  • 举报
回复
怎么没有人回复我呢??
sonic_hkj 2006-12-20
  • 打赏
  • 举报
回复
以上代码完全可以运行,希望大侠拷到自己机器去运行一下,看看
lixiaoxue85 2006-12-20
  • 打赏
  • 举报
回复
ding

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧