Я просто пытаюсь добавить вертикальную полосу прокрутки в свой TextField и TextArea. Я использую ScrollPane, и по умолчанию он должен создавать вертикальную/горизонтальную полосу прокрутки.JScrollBar Проблема с вертикальной/горизонтальной установкой - Java Swing
Проблема: Мне нужна вертикальная полоса прокрутки, чтобы увидеть данные, которые не видны. В начале появляется вертикальная полоса прокрутки, но когда данные увеличиваются, вертикальная полоса прокрутки изменяется на горизонтальную полосу прокрутки. Также TextField исчезает, и вместо него появляется только горизонтальная полоса прокрутки. Я предполагаю, что это потому, что я установил границы, но я попытался изменить границы, и это заканчивается тем, что полностью уничтожает TextField.
Мой фрагмент кода:
public JTextField inputField = new JTextField();
public JTextArea talkArea = new JTextArea();
public JScrollPane inputFieldScroll = new JScrollPane(inputField);
public JScrollPane talkAreaScroll = new JScrollPane(talkArea);
talkArea.setEditable(false);
talkArea.setBackground(Color.white);
talkAreaScroll.setBounds(new Rectangle(TALK_LEFT, TALK_TOP, TALK_WIDTH, TALK_HEIGHT));
this.getContentPane().add(talkAreaScroll, null);
//set input area
inputField.setBackground(Color.white);
inputField.setBounds(new Rectangle(INPUT_LEFT, INPUT_TOP, INPUT_WIDTH, INPUT_HEIGHT));
inputFieldScroll.setVerticalScrollBar(new JScrollBar());
inputFieldScroll.setBounds(new Rectangle(INPUT_LEFT, INPUT_TOP, INPUT_WIDTH, INPUT_HEIGHT));
Вопрос:
Есть ли какой-то параметр мне нужно установить так, что он остается вертикальная полоса прокрутки? Почему полоса прокрутки ввода занимает все поле ввода, когда данные становятся огромной линией? Он отображается как правильная вертикальная полоса прокрутки в начале.
Любые советы, оцененные.
Thanks
Scrollbar на JTextField? – khachik
Можете ли вы создать и опубликовать небольшой компилируемый и исполняемый пример? Кроме того, что произойдет, если вы установите предпочтительный размер JViewport JScrollPane, а не сам JScrollPane? –