Исчезающие кнопки в графическом интерфейсе Java из-за краски JPanel? - PullRequest
0 голосов
/ 25 февраля 2019

, поэтому я просто изучаю Java GUI (JFrame, JPanel и т. Д.), И я столкнулся с этой проблемой: когда я перекрашиваю свою панель и продолжаю добавлять кнопки на ту же панель, кнопки как бы заикаются итолько половина появляется, когда я наводю указатель мыши на кнопку.

Я разделю свой код на несколько классов ниже, так что, надеюсь, кто-то с большим опытом сможет определить, в чем проблема.

import javax.swing.JFrame;

public class Main
{
   public static void main(String[] args)
   {
       new Test();
   }
}

Выше находится первый класс

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;

public class Test extends JFrame
{
    private menuPanel MENUPANEL;

    public Test()
    {
        super("My Game");
        setLayout(new BorderLayout());
        MENUPANEL = new menuPanel();
        add(MENUPANEL, BorderLayout.CENTER);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(660,360);
        setResizable(false);
        setVisible(true);
    }
}

Вот мой класс, который создает начальный кадр.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;

public class menuPanel extends JPanel
{
    private JButton btn1, btn2, btn3;
    private JPanel menuPanel;
    private ImageIcon mypic;

    public menuPanel()
    {
        JButton btn1 = new JButton("START GAME");
        btn2 = new JButton("EXIT GAME");
        btn3 = new JButton("OPTIONS");

        setLayout(new FlowLayout());
        add(btn2);
        add(btn1);
        add(btn3);
    }

    @Override
    public void paint (Graphics g)
    {
        super.paintComponents(g);
        ImageIcon i = new ImageIcon("background.gif");
        i.paintIcon(this, g, 0,0);
    }
}

Наконец, вот мой класс панели.

Пожалуйста, извините, если я использовал какую-то неправильную терминологию и т. Д. Я искал решение этой проблемы в течение нескольких часов и имею лишь несколько часов опыта работы с Java GUI.

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