JOptionPane предназначен для использования только для того, чтобы ответить на простой вопрос, на который пользователь может ответить да / нет, ок / отменить или задать простой ввод и затем закрыть его.
«Реальные» диалоговые окна поиска / замены должны делать намного больше, не пытайтесь использовать JOptionPane для этого, он не был разработан для этой цели.
Вам потребуется полностью новый диалог (в вашем случае JFrame), который может выполнить то, что вам нужно, и вы сможете расширить его, указав другие параметры, такие как «Соответствие регистру», использование регулярных выражений и т. Д.
Примечание. Помимо этого, вашему коду необходимо ОЧЕНЬ много других улучшений. Начните с того, что не используйте магические числа и строки, жестко запрограммированные, присвойте свои переменные соответствующим образом (а не button1), придерживайтесь соглашений о кодировании и форматировании на языке, который вы используете. Попробуйте использовать меньшие классы и методы, которые делают только одно - «У класса должна быть одна и только одна причина для изменения». Попробуйте извлечь для поиска функциональность сам по себе в своем классе и написать для нее модульные тесты.
Через некоторое время вы можете попытаться взглянуть на некоторые проекты Java с открытым исходным кодом (JEdit - хороший пример для редактора), просто чтобы посмотреть, как выглядит профессиональный код.
Удачи.