GUI Программирование - Настройка рамки - PullRequest
0 голосов
/ 17 апреля 2020

Я только начинаю использовать GUI программирование. Я пытаюсь настроить фрейм, но пока я не добавляю его в gameView, ничего не появляется, например кнопки или cat gif, поэтому все, что я получаю, это окно фрейма после его запуска. Вот мой код:

package experiment10;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class mainFrame extends JFrame 
{
    public static int MAX = 500;    // maximum number to guess
    private JButton submitBtn;      // Submit button
    private JButton clearBtn;  // Clear Input button
    private JTextField inputNumber;  //input guessed number
    private int magicNumber;  //randomly generated number

    public static void main(String[] arg)    {
        //Show frame
        JFrame frame = new JFrame();
        frame.setVisible(true);
    }

    public mainFrame()  {

        setSize(400, 400);
        setResizable (false);
        setTitle("Let's Play Hi Lo");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        magicNumber = (int)(Math.random()*MAX);

        Container gameView  = getContentPane();
        gameView.setLayout(new FlowLayout());
        //Customizations
        submitBtn = new JButton("Submit"); //create submit button
        clearBtn = new JButton("Clear"); //create clear button
        gameView.add(submitBtn); //adds submit button
        gameView.add(clearBtn); //adds clear button

        JLabel imageLabel = new JLabel(new ImageIcon("cat.gif")); //creates image
        gameView.add(imageLabel); //adds image

        JLabel textLabel = new JLabel("Please enter your guess"); //creates JLabel
        gameView.add(textLabel); //adds JLabel

        JTextField input = new JTextField(); //creates JTextField
        gameView.add(input); //adds JTextField

    }
}

Любая помощь / советы очень ценятся. Спасибо.

1 Ответ

0 голосов
/ 17 апреля 2020

Вам потребуется вызвать mainFrame () из основного метода:

mainFrame frame = new mainFrame();

Вы также можете удалить следующий код из основного:

JFrame frame = new JFrame();
frame.setVisible(true);

Затем вам потребуется добавить setVisible(true); в ваш конструктор mainFrame ().

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