Добавление текста над JScrollPane, который находится внутри JOptionPane - PullRequest
0 голосов
/ 14 июля 2020

У меня есть следующий код:

            JTextArea textArea = new JTextArea(5, 120);
            textArea.setText("Error message more detail");
            textArea.setEditable(false);
            JScrollPane scrollPane = new JScrollPane(textArea);
            JOptionPane.showMessageDialog(ScenariosUploader.this, scrollPane, "Error Message", JOptionPane.ERROR_MESSAGE);  

, который создает следующую JOptionPane:

введите описание изображения здесь

Мой вопрос: как добавить текст над панелью, в котором говорилось бы что-то вроде «Сведения об ошибке»?

1 Ответ

3 голосов
/ 14 июля 2020

Вместо того, чтобы передавать scrollPane методу showMessageDialog, дайте ему панель (которая использует BorderLayout) , которая содержит панель прокрутки и метку errorDetail:

public static void main(String[] args) {
    JTextArea textArea = new JTextArea(5, 120);
    textArea.setText("Error message more detail");
    textArea.setEditable(false);
    JScrollPane scrollPane = new JScrollPane(textArea);

    JPanel panel = new JPanel(new BorderLayout());

    JLabel errorDetailLabel = new JLabel("Error detail:");
    panel.add(errorDetailLabel, BorderLayout.PAGE_START);
    panel.add(scrollPane, BorderLayout.CENTER);

    JOptionPane.showMessageDialog(null, panel, "Error Message", JOptionPane.ERROR_MESSAGE);
}

Результат:

предварительный просмотр

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...