Я пытаюсь расположить три кнопки вертикально на JOptionPane, используя createDialog, но он не совсем работает с GridLayout. Кроме того, я не уверен, как избавиться от кнопки «ОК». Вы, наверное, удивляетесь, почему я так поступаю, но мне так и сказали. Я думаю, что могу использовать JFrame, но я не думаю, что это хорошо с JOptionPane, потому что именно там я хочу, чтобы кнопки были сложены.
Должно быть так:
| Нужна помощь |
| Помоги мне |
| Подсчет |
Мне нужна доступность, чтобы добавить слушателей действия в какой-то момент, но это, кажется, становится запутанным, прежде чем я смогу добраться до этой точки.
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.*;
public class ThreeButtons {
static JDialog dialog;
public static void main(String[] args) {
JOptionPane optionPane = new JOptionPane();
optionPane.setMessage("Set Message");
optionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
optionPane.setLayout(new GridLayout(3,1));
String[] buttonTxt = {"Need Help","Help Me","Counting"};
JButton[] buttons = new JButton[buttonTxt.length];
for (int i = 0; i < buttonTxt.length; i++)
{
buttons[i] = new JButton(buttonTxt[i]);
optionPane.add(buttons[i]);
}
dialog = optionPane.createDialog(null, "Icon/Text Button");
dialog.setVisible(true);
}
}