не удается добавить строку в jtextarea

#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 получил баллы.