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); 
这句话没被执行

解决方案 »

  1.   

    j1.addAdjustmentListener(new AdjustmentListener(){ 
            public void adjustmentValueChanged(AdjustmentEvent arg0) { 
    JOptionPane.showMessageDialog(f , "heh","huhu",JOptionPane.INFORMATION_MESSAGE); 

    放在f.add(j1); 前面。
    事件就能注册了 不过 如果代码真的这样的话 你会郁闷的。那个信息窗口会不停的出来。
      

  2.   

    为什么JFrame 可以在后面注册监听
      

  3.   

    逻辑写错了吧 应该是随便在jscrollbar上加得