JScrollPanes 内に JTextPanes の配列があります。私が言及したこれらのコンポーネントはすべて、JScrollPane 内の JPanel 内にあります。
プログラムの開始時には、どの JTextPanes にもテキストがないため、それらのスクロールバーは表示されません。多くのコンポーネントが含まれているため、JPanel のスクロールバーが表示されます。
私の問題は、カーソルが JTextPanes の 1 つの上にあり、スクロールしようとすると、JTextPane のスクロールバーでスクロールしたいとコンピュータが判断するため、何も起こらないことです。JPanel のスクロールバーでスクロールしようとしていることをコンピュータに認識させたいのです。これを達成する方法はありますか?
ありがとう!
編集:
このコードを使用して、上記と同様の UI を生成できます (これは、JFrame を拡張するクラスのコンストラクターです。多くの優れたコーディング習慣を無視して申し訳ありません)。
public JFrameTest() {
JPanel panel = new JPanel( new GridLayout( 10 , 10 , 10 , 10 ) );
for ( int i = 0 ; i < 10 ; i ++ ) {
for ( int j = 0 ; j < 10 ; j ++ ) {
JScrollPane paneToAdd = new JScrollPane( new JTextPane() ) {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public Dimension getPreferredSize() {
return new Dimension( 100 , 100 );
}
};
panel.add( paneToAdd );
}
}
add( new JScrollPane( panel ) );
setSize( 700 , 500 );
setVisible( true );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}