#java #swing #jtextarea
#java #swing #jtextarea
Вопрос:
public class Main {
private static void createAndShowGUI() {
JFrame frame1 = new JFrame("FINAL YEAR PROJECT VER 1.0");
frame1.setSize(500,500);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
FlowLayout experimentLayout = new FlowLayout();
experimentLayout.setAlignment(FlowLayout.CENTER);
frame1.setLayout(experimentLayout);
JTextArea jtextarea = new JTextArea(200,200);
JScrollPane scrollingArea = new JScrollPane(jtextarea);
frame1.getContentPane().add(jtextarea);
frame1.getContentPane().add(scrollingArea, FlowLayout.CENTER);
jtextarea.setText("Welcome to Document-Query Similarity System Based On Weblogs");
frame1.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Я пытаюсь отобразить текст, используя setText()
метод on JTextarea
. Однако строка не отображается. Чего мне не хватает?
Ответ №1:
Она есть, просто сделайте текстовую область намного меньше. Что-то вроде:
JTextArea jtextarea = new JTextArea(20,20);
При ее текущем размере вы не видите текст. Одной из причин, по которой вы не можете перейти к тексту, является неправильный способ добавления текстовой области и полосы прокрутки. Лучшим способом сделать это было бы:
frame1.setLayout(new BorderLayout());
...
//delete the addition of the textarea to the frame, you already put it in the scroll pane.
frame1.getContentPane().add(scrollingArea, BorderLayout.CENTER);
Ответ №2:
Заменить:
JTextArea jtextarea = new JTextArea();
вместо:
JTextArea jtextarea = new JTextArea(200, 200);
В документации для вашего конструктора сказано, что аргументы не в пикселях:
Создает новую пустую текстовую область с указанным количеством строк и столбцов. Создается модель по умолчанию, и начальная строка равна null.
Комментарии:
1. спасибо, сэр, за ваше внимание. Ваш ответ решил вопрос. Спасибо и хорошего дня.
2. @lucian Если это решило вашу проблему, то установите флажок слева от ответа, чтобы @smas получил баллы.