JOptionPane Java – Ввод/вывод данных

Еще один полезный класс для получения пользовательского ввода и отображения результатов - это класс JOptionPane. Он находится в библиотеке javax.swing. С помощью класса JOptionPane мы можем вызывать окно ввода с клавиатуры и сохранять полученные данные.

Класс JOptionPane позволяет вам иметь такие поля ввода:

JOptionPane поле ввода

И такие сообщения:

JOptionPane поле сообщения

Давайте для этого адаптируем наш код из предыдущего урока и добавим несколько опций.

Первое, что нужно сделать, это обратиться к библиотеке, в которой находится наш класс JOptionPane:

import javax.swing.JOptionPane;

Эта строка кода говорит Java, что мы хотим использовать класс JOptionPane, расположенный в библиотеке javax.swing.

Вы можете начать новый проект, как это сделаю я. Вы уже должны знать, как создать новый проект. Для тех, кто забыл: Как создать проект java в NetBeans. У меня имя класса будет InputBoxes, а имя проекта - userinput.

Добавьте строку импорта в свой новый проект. Окно с кодом должно выглядеть примерно так:

package userinput;
import javax.swing.JOptionPane;

public class InputBoxes {

    public static void main(String[] args) {   
        
    }
    
}

Причина желтого волнистого подчеркивания в том, что мы еще не использовали класс JOptionPane. Она исчезнет, ​​как только мы это сделаем.

Чтобы получить поле ввода, в которое может вводить текст пользователь, мы можем использовать метод showInputDialog из JOptionPane. Мы снова сохраним входные данные прямо в переменную name, как в прошлый раз. Поэтому добавьте следующую строку в ваш основной метод:

String name;                      
name = JOptionPane.showInputDialog("Ваше имя");

Как только вы введете точку после JOptionPane, вы увидите следующий всплывающий список:

JOptionPane методы

Дважды кликните showInputDialog – один из методов JOptionPane. В круглых скобках showInputDialog введите нужное сообщение над текстовым полем ввода. Мы набрали «Ваше имя». Как и все строки, эта должна быть заключена в двойные кавычки.

Добавьте следующий код, чтобы получить фамилию пользователя:

String surname;                      
surname = JOptionPane.showInputDialog("Ваша фамилия");

Соедините их вместе и добавьте текст:

String full;                      
full= "Ваша фамилия " + name + " " + surname;

Чтобы отобразить результат в окне сообщения, добавьте следующее:

JOptionPane.showMessageDialog(null, full);

На этот раз мы хотим показать сообщение, поэтому используем метод showMessageDialog из всплывающего списка. В круглых скобках у нас сначала идет слово null. Это ключевое слово java, и оно просто означает, что окно сообщения не связано ни с чем другим в программе. После запятой идет текст, который мы хотим отобразить в окне сообщения.

JOptionPane - Ввод и Сообщение

Весь ваш код должен выглядеть так:

JOptionPane весь код

Обратите внимание на строку кода внизу:

System.exit(0);

Как следует из названия, это гарантирует, что программа завершается. Но это также возвращает все на свои места, удаляя все созданные объекты из памяти.

Теперь запустите свой код. Быстрый способ запустить программу в NetBeans - кликнуть правой кнопкой мыши в любом месте окна с кодом. В появившемся меню выбрать Run File.

Вы увидите поле ввода имени. Введите в него что-нибудь и нажмите ОК:

JOptionPane input name

Когда появится поле ввода Ваша фамилия, введите фамилию и нажмите ОК:

JOptionPane input surname

После того, как вы нажмете ОК, в окне сообщения появится:

JOptionPane сообщение

Нажмите OK, чтобы завершить программу.

Упражнение 1

Поля ввода и окна сообщения можете отформатировать. Попробуйте следующее:

showInputDialog("Имя", "Введите имя");                      
showInputDialog("Фамилия", "Введите фамилию");

Упражнение 2

Для окна сообщения попробуйте это (у вас должно быть в одной строке):

showMessageDialog (null, full, "Name", JOptionPane.INFORMATION_MESSAGE);

Упражнение 3

Вместо JOptionPane.INFORMATION_MESSAGE попробуйте это:

ERROR_MESSAGE
PLAIN_MESSAGE
QUESTION_MESSAGE
WARNING_MESSAGE

Упражнение A

Поля ввода используются не только для текста: они также могут принимать числа. Напишите программу, которая запрашивает у пользователя два числа: ширину прямоугольника и высоту прямоугольника. Используйте окно сообщения для расчета площади прямоугольника. (Помните: площадь прямоугольника - это его ширина, умноженная на высоту.) Но вам понадобится дополнительная помощь для этого упражнения.

Ответ на упражнение A

Справка для упражнения А

Вы должны использовать переменную String, чтобы получить числа от пользователя:

String width;
width = JOptionPane.showInputDialog("Ширина прямоугольника");

Но вы не можете умножить строку на строку. Вам нужно преобразовать строки в целые числа. Вы можете преобразовать строку в целое число следующим образом:

Integer.parseInt(string_to_convert)

Вы вводите Integer, затем точку. После точки введите parseInt (). В круглых скобках parseInt введите имя строковой переменной, которую вы пытаетесь преобразовать.

Установите переменную int для площади нашего прямоугольника. Затем вы сможете произвести умножение и назначить результат этой же строке:

int area = Integer.parseInt(width) * Integer.parseInt(height);

Для окна сообщения используйте конкатенацию:

"Площадь прямоугольника равна " + area

Для окна сообщения вы можете использовать любой из символов MESSAGE для JOptionPane.

Упражнение B

Программа завершится сбоем, если вы введете значения с плавающей запятой для ширины или высоты прямоугольника с предыдущего упражнения. Как бы вы решили это?

Если вы выполнили вышеупомянутое упражнение, подумайте, вам действительно необходимо Integer.parseInt? Что еще вы можете использовать?

Ответ на упражнение B

Теперь вы знаете о классе JOptionPane, его пользу и как его можно использовать. Отлично, мы будем двигаться дальше. Давайте попробуем несколько условий IF.

Дата обновления: 21.07.2019

  • Текущий 0.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

/Рейтинг: 0.0/5 (0 голос(ов) всего)

Добавить комментарий (без регистрации)