私は計算の実行ログを保持する小さな電卓ウィジェットを開発しています。新しいエントリが追加されるたびにログの一番下までスクロールすることになっています。この部分は正常に動作しているようです。 問題は、ログに追加されていない電卓ボタンを押すと、ログウィンドウが常に上にスクロールしてスクロールバーが消えてしまうことです。これをやめないようにするにはどうすればいいですか?Java Swing JScrollPaneがスクロールし続けるのはなぜですか?
ログに追加するコードは次のとおりです。あなたが思うのコードは問題がない原因になっている
private void addDigit(char digit) {
if (clearDisplayBeforeDigit) {
clearNumDisplay();
}
if (numInDisplay.getText().length() < maxNumDigits) {
if (digit == '.') { //Point
if (!hasPoint) { //Only one point allowed
hasPoint = true;
String newText = numInDisplay.getText() + ".";
numInDisplay.setText(newText);
}
} else { //New digit
String newText = numInDisplay.getText() + digit;
numInDisplay.setText(newText);
}
}
}
[SSCCE](http://sscce.org/)を投稿するとすぐに役立ちます。 –
'log'はどこから呼び出されますか? 'JScrollPane'の' JScrollBar'を使って下にスクロールすることも考えられます。 ([リンク](http://stackoverflow.com/a/5150437/758280)、私はあなたの問題を解決するかどうかは考えていませんが、試して傷つけることはできません。) – Jeffrey