I'm programming a cookie clicker game remake and when I scale the JFrame window, something white appears. It disappears as soon as you hover the cursor over the button(when refreshes) and I need to fix that, because it does even the same when you launch the game.
Here's a screenshot(UNSCALED | SCALED): http://s3.postimg.org/xomifomhf/bandicam_19.png
this is the whole code of this game:
package cookieclicker.tominocz;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main {
    public static int num1;
    static Icon icon1 = new ImageIcon("cookie.png");
    static JButton b1 = new JButton(icon1);
    static JButton b2 = new JButton("You got " + num1 + " Cookies!");
    @SuppressWarnings("serial")
    public static void main(String[] args) {
        File save = new File(".\\gamesave.cookieclicker");
        if (save.exists()) {
            loadGame();
        }
        JFrame f = new JFrame("Cookie Clicker Beta v0.1");
        b2.setBackground(Color.cyan);
        b2.setPreferredSize(new Dimension(10000, 14));
        JPanel buttonPanel1 = new JPanel(new GridLayout(1, 1));
        buttonPanel1.setBackground(Color.DARK_GRAY);
        b2.setEnabled(false);
        b2.setBorder(null);
        buttonPanel1.add(b2);
        JPanel buttonPanel2 = new JPanel(new GridLayout(1000, 1));
        buttonPanel2.setBackground(Color.DARK_GRAY);
        buttonPanel2.setEnabled(false);
        buttonPanel2.add(new JButton("Grandma"));
        buttonPanel2.add(new JButton(""));
        buttonPanel2.add(new JButton(""));
        JPanel east = new JPanel(new GridBagLayout());
        JPanel north = new JPanel(new GridBagLayout());
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.anchor = GridBagConstraints.NORTH;
        gbc.weighty = 1;
        north.add(buttonPanel1, gbc);
        east.add(buttonPanel2, gbc);
        JPanel center = new JPanel() {
            @Override
            public Dimension getPreferredSize() {
                return new Dimension(200, 200);
            }
        };
        center.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        f.add(east, BorderLayout.EAST);
        f.add(north, BorderLayout.NORTH);
        f.add(center);
        f.pack();
        f.setSize(600, 400);
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        b1.setBackground(Color.lightGray);
        b1.setBorder(null);
        f.add(b1);
        b1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Object source = e.getSource();
                if (source instanceof JButton) {
                    addCookies();
                }
            }
        });
    }
    public static void addCookies() {
        saveGame();
        b2.setText("You got " + ++num1 + " Cookies!");
        if (num1 == 1) {
            b2.setText(" You got " + 1 + " Cookie! ");
        } else {
            b2.setText("You got " + num1 + " Cookies!");
        }
        System.out.println(num1);
    }
    public static void saveGame() {
        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter(
                    ".\\gamesave.cookieclicker"));
            writer.write(String.valueOf(1 + num1));
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void loadGame() {
        try (BufferedReader br = new BufferedReader(new FileReader(
                ".\\gamesave.cookieclicker"))) {
            String SavedGame;
            while ((SavedGame = br.readLine()) != null) {
                num1 = Integer.parseInt(SavedGame);
                b2.setText("You got " + num1 + " Cookies!");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
And also the other thing is, that the dark grey strip is hiding 3 buttons. Don't count the 4th one, that's the one showing the ammount of cookies you have :).
Now where could the problem be?
 
     
     
     
    