由于JPanel绘制,Java GUI中的按钮消失了吗?

时间:2019-02-25 19:23:40

标签: java swing jpanel paintcomponent

所以我只是在学习Java GUI(JFrameJPanel等),因此遇到了这个问题,当我重新粉刷我的面板,然后继续将按钮添加到同一面板时,这些按钮当我将鼠标悬停在按钮上时,会出现断断续续的情况,只有一半出现。

我将代码分成以下不同的类,希望有更多经验的人可能会发现问题所在。

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经验。

0 个答案:

没有答案