JTextArea не позволяет вводить текст в

1

Я прочитал другие вопросы о JTextArea и переместил setVisible (true) в нижнюю часть, но мой JTextArea все еще не позволяет мне отображать текст. Мой код ниже, это конструктор класса, который расширяет JPanel, он ничего не покажет при вводе в JTextArea. JTextArea появляется посередине, называемый "newText". Спасибо за помощь!

EditScreen(TaskMaster taskMaster, Task toEdit){
        this.taskMaster = taskMaster;
        editingTask = toEdit;
        textAreaShading = new Color(10, 20, 20, 20);
        initBackground();
        this.setLayout(new BorderLayout(500,500));
        this.setBackground(background); //this might not be initializedset

        topToolbar = new JPanel();
        topToolbar.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); 
        topToolbar.setOpaque(false);
        topToolbar.setLayout(new BoxLayout(topToolbar, BoxLayout.X_AXIS));
        category = new JLabel("Choose type:");
        categories = new JComboBox(catS);
        date = new JTextField(10);
        topToolbar.add(category);
        topToolbar.add(categories);
        topToolbar.add(new JLabel("Due Date:"));
        topToolbar.add(date);


        textPanel = new JPanel();
        //textPanel.setLayout(new BoxLayout(textPanel, BoxLayout.Y_AXIS));  
        textPanel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));   
        textPanel.setLayout(new BorderLayout());  
        //textPanel.setOpaque(false);
        textPanel.setBackground(Color.CYAN);
        newText = new JTextArea();
        newText.setOpaque(true);
        newText.setBackground(textAreaShading);
        newText.setLineWrap(true);
        newText.setWrapStyleWord(true); 
        textPanel.add(BorderLayout.CENTER, newText);


        bottomPanel = new JPanel();
        bottomPanel.setBorder(BorderFactory.createEmptyBorder(5,5,2,0)); 
        bottomPanel.setOpaque(false);
        bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.X_AXIS));
        priority = new JComboBox(priorityS); 
        cancel = new JButton("Cancel");
        save = new JButton("Save");
        bottomPanel.add(new JLabel("Choose Priority:"));
        bottomPanel.add(priority);
        bottomPanel.add(cancel);
        bottomPanel.add(save);


        //set layout and size of frame
        this.add(topToolbar,BorderLayout.NORTH);
        this.add(textPanel, BorderLayout.CENTER); 
        //screenPanel.add(newText, BorderLayout.CENTER); 
        this.add(bottomPanel, BorderLayout.SOUTH);

        initListeners();
        initEditingTask();
        this.setVisible(true);
        textPanel.setVisible(true);
        newText.setVisible(true);
    }
  • 0
    Попробуйте удалить newText.setOpaque (true);
  • 1
    (1) Для более быстрой помощи, пожалуйста, опубликуйте Минимальный Полный Пример, который демонстрирует проблему. Мы не можем воспроизвести вашу проблему только с помощью фрагмента кода. (2) Обычно вам вообще не нужно вызывать newText.setVisible(...) .
Показать ещё 2 комментария
Теги:
swing
jtextarea

1 ответ

0

Хорошо, кто-то ответил на мой вопрос, а затем удалил этот ответ, поэтому я отправлю его здесь, это было не мое дело, но это была проблема с программой, и вот здесь!

setLayout (новый BorderLayout (500 500)); накладывает большие пробелы на то, что покрывает целое.

Решение: уменьшить пробелы

setLayout (новый BorderLayout (5,5));

Код Загадка: завершена. Всем спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню