Получение изображения file.png для отображения на фрейме с использованием java.awt и java.swing - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь получить изображение для отображения в кадре для игры, которую я создаю.Вместо того, чтобы расширять JPanels или JFrame, я просто создаю несколько классов фреймов и один класс действий. В настоящее время у меня возникают проблемы с отображением изображения на тестовом фрейме, который я создал.Мой код компилируется, но когда я нажимаю на фрейм, он выключается.Спасибо!

PS это только часть моего кода.Я слышал, что не стоит публиковать общий код онлайн.

Код:

    public void testframe(){
    testframe = new Frame("Main Menu");
    testframe.setSize(1600,1600);
    try{
        myPicture = ImageIO.read(new File("basic.png"));
    }
    catch(IOException e){
        e.printStackTrace();

        //FirstFrame.setVisible(true);
        //testframe.setVisible(false);
    }

    JLabel picLabel = new JLabel(new ImageIcon(myPicture));

    testframe.add(picLabel);

    //testframe.drawImage(myPicture,"png", );

    testframe.setVisible(true);

}

private void showButtonDemo(){

    Font myFont = new Font("Serif", Font.ITALIC | Font.BOLD, 12);
    Font newFont = myFont.deriveFont(50F);
    headerLabel.setText("SNAKE GAME"); 
    headerLabel.setFont(newFont);
    statusLabel.setText("By Tejas and Ashwin");
    statusLabel.setFont(newFont);

    Button startButton = new Button("Start Game");//begins game
    Button snakecolorButton = new Button("Choose Snake Color");//selects snake color
    Button themeColorButton = new Button("Choose Theme");//selects two colors(1 primary and 1 secondary)
    Button InstructionsButton = new Button("Instructions");
    Button testbutton = new Button("test");

    testbutton.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            //testframe();
            //testframe.setVisible(true);
            FirstFrame.setVisible(false);
        }
    });

1 Ответ

0 голосов
/ 05 июня 2018

Во-первых, разделение кода необходимо для помощи, поэтому, если вы считаете, что код в любом случае включает в себя то, что вам нужно, чтобы помочь поделиться им, в противном случае это не имеет значения ... Для данного вопроса вы можете использовать jlable и установитьЯ хочу, чтобы он отображал png, но ЛУЧШИЙ способ сделать это - создать это для игры - создать класс (например, Player) и метод рендеринга. При рендеринге вы отображаете изображение в локации (XYZ).игрока,

ImageIcon image = new ImageIcon("C:\\Users\\Name\\Pictures\\image.png");
    JLabel imageLabel = new JLabel(image); 
    frame.add(imageLabel);

Не забудьте установить его как видимый и установить его границы,

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