|
slider.addChangeListener( new ChangeListener() { public void stateChanged( ChangeEvent changeEvent ) { timer.setDelay(slider.getValue()); } } ); 可是每次改变slider的值时出现了这样的异常 Exception occurred during event dispatching: java.lang.NullPointerException at ovt.gui.CurrentMjdToolbarComponents$8.stateChanged(CurrentMjdToolbarC omponents.java:366) at javax.swing.JSlider.fireStateChanged(Unknown Source) at javax.swing.JSlider$ModelListener.stateChanged(Unknown Source) at javax.swing.DefaultBoundedRangeModel.fireStateChanged(Unknown Source) at javax.swing.DefaultBoundedRangeModel.setRangeProperties(Unknown Sourc e) at javax.swing.DefaultBoundedRangeModel.setValue(Unknown Source) at javax.swing.JSlider.setValue(Unknown Source) at javax.swing.plaf.basic.BasicSliderUI$TrackListener.mouseDragged(Unkno wn Source) at java.awt.AWTEventMulticaster.mouseDragged(Unknown Source) at java.awt.Component.processMouseMotionEvent(Unknown Source) at javax.swing.JComponent.processMouseMotionEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) why?请各位高手帮忙,谢谢! |
|
|
|
slider = new JSlider(1000, 10000);
slider.setValue(1000); slider.setBounds(new Rectangle(137, 121, 206, 22)); slider.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent changeEvent) { Timer timer = timerThread.getTimer(); if(timer != null) timer.setDelay(slider.getValue()); } }); jPanel.add(slider, null); class TimerThread implements Runnable { Timer timer; public TimerThread() { } public Timer getTimer() { return timer; } public void run() { ActionListener actionListener = new ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { Date dateNow = new Date(); java.text.SimpleDateFormat fmt = null; fmt = new java.text.SimpleDateFormat("[yyyy-MM-dd HH:mm:ss.SSS Z]"); String strFormat = fmt.format(dateNow); System.out.println(strFormat); } }; timer = new Timer(1000,actionListener); timer.start(); }; } public void stop() { timer.stop(); } } |
|
|
明明是个NullPointerException,看看你的timer是不是没有启动
|
|