テキスト領域があります。スクロールバーをスクロールするたびに、メソッドを呼び出します。どのイベントでメソッドを呼び出す必要がありますか?私は試した:
private void jScrollPane1MouseReleased(java.awt.event.MouseEvent evt) {
//execute();
System.out.println("Scroller Moved");
}
JScrollBarでを使用しAdjustmentListener
ます(動きをリッスンするものを選択します)。縦棒で聞く例を次に示します。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TempProject extends JPanel{
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(300, 2000));
JScrollPane pane = new JScrollPane(panel);
pane.setPreferredSize(new Dimension(400, 300));
pane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener(){
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
System.out.println("Hi Mom!");
}});
frame.setContentPane(pane);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}
代わりに、mouselistenerイベントを使用する必要があります。
詳細については、こちらをご覧ください-http://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html
マウスクリックメソッドを使用してから、getX()とgetY()を使用して座標を取得し、ifテストを使用して、座標がJScrollPaneの寸法内にあるかどうかをテストします。mouselisterを実装し、継承されたすべての抽象メソッドを追加することを忘れないでください:)