Изображение включено У меня есть еще одна проблема, когда мои кнопки идут в верхнем правом углу после ввода пользователем имени. На данный момент текст отображается в графическом интерфейсе на стороне LEFT центра, который, кажется, будет «WEST», когда я ставлю «CENTER». Код:Проблемы с компоновкой кнопок с JFrame
public TheDungeon()
{
setTitle("InsertGameNameHere");
setSize(750, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
setLocationRelativeTo(null);
buildButtonPanel();
characterInfoPanel = new JLabel("<html>Character information will go here</html>");
gameScreen = new JLabel();
inventoryPanel = new JLabel("<html>This is for the inventory</html>");
add(gameScreen, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
setVisible(true);
//Program run
userName();
gameScreen.setText("<html>Welcome "+name+", to the game that has no name!</html>");
classWindow();
}
private void buildButtonPanel()
{
// Create a panel for the buttons.
buttonPanel = new JPanel();
// Create the buttons.
b1 = new JButton("Button 1");
b2 = new JButton("Button 2");
b3 = new JButton("Button 3");
b4 = new JButton("Button 4");
b5 = new JButton("Button 5");
// Add the buttons to the button panel.
buttonPanel.add(b1);
buttonPanel.add(b2);
buttonPanel.add(b3);
buttonPanel.add(b4);
buttonPanel.add(b5);
}
private void userName() {
name = JOptionPane.showInputDialog("What will your name be?");
}
Это работало красиво! Как я могу добавить прослушиватель действий к кнопкам? У меня есть следующий код позже в моей программе, но проблема с кодом, который вы указали выше, кнопки не имеют конкретных имен. Не могли бы вы показать код того, как это сделать? 'warriorButton.addActionListener (новый ActionListener() { общественного недействительными actionPerformed (ActionEvent ЭВТ) { Класс_пользователей = "Воин"; classWindow.dispose();}} );' переносы строк не будет работать, поэтому я не могу сделать новую строку. Я пробовал
и, похоже, не работает. Сожалею! – Xearta
@Xearta: приведенный выше пример был написан с сокращенными сокращениями, чтобы просто показать проблемы форматирования графического интерфейса, в том числе с использованием массива String для создания кнопок. Вам придется расширять и изменять собственное решение. Что касается многострочного дисплея, рассмотрите возможность использования JTextArea. Вы можете изменить его внешний вид, чтобы он соответствовал значению JLabel, вызывая его методы. –