日期:2014-05-20  浏览次数:20669 次

JScrollBar 在JDialog中 为JScrollBar添加AdjustmentListener 不起作用
JDialog f; 
JScrollBar j1; 
f=new JDialog(form,"查找",true); //form为当前窗体 
f.setModal(true); 
j1=new JScrollBar(JScrollBar.HORIZONTAL,0,5,0,255); 
j1.setBounds(50, 50, 300, 15); 
f.setLayout(null); 
f.setBounds(100, 100, 400, 300); 
f.add(j1); 
f.setVisible(true); 
j1.addAdjustmentListener(new AdjustmentListener(){ 
  public void adjustmentValueChanged(AdjustmentEvent arg0) { 
JOptionPane.showMessageDialog(f , "heh","huhu",JOptionPane.INFORMATION_MESSAGE); 

}); 

当拉动j1这个JScrollBar JOptionPane.showMessageDialog(f , "heh","huhu",JOptionPane.INFORMATION_MESSAGE); 
这句话没被执行

------解决方案--------------------
引用楼主 woaiwangchan 的帖子:
JDialog f;
JScrollBar j1;
f=new JDialog(form,"查找",true);               
f.setModal(true); //设置JDialog模式
j1=new JScrollBar(JScrollBar.HORIZONTAL,0,5,0,255);
j1.setBounds(50, 50, 300, 15);
f.setLayout(null);
f.setBounds(100, 100, 400, 300);
f.add(j1);
f.setVisible(true); //模式,显示之后就会阻塞线程,后面的代码只有在JDialog关闭之后才能执行
j1.addAdjustmentListener(new AdjustmentListener(){
        public void adjustmentValue…