Witam, jako zupełna świeżynka w temacie GUI proszę o pomoc.
Problem polega na tym, że po najechaniu na przeźroczysty przycisk zmienia on kolor na fragment mapy będącej tłem, kilkakrotnie - staje się coraz ciemniejszy. W polu tekstowym w miarę wpisywania również tło staje się coraz ciemniejsze, po przejściu do kolejnej linijki wraca do normalności (pole i button) i efekt się powtarza.
Po naciśnięciu przycisku odświeżana jest zawartość dwóch pozostałych JTextArea i w miejscu gdzie jest karetka również jest kawałek tła nie wiadomo skąd.

public class Okienko extends JFrame implements ActionListener{
 
String wyswietl, komenda; 
    JLabel info;
    JPanel pStat, pButton;
    JTextArea pole1, pole2, stat, statDane, spacja;
    JButton przycisk;
    Mapa pmapa;
    
    Bohater bohater;
    
    public Okienko ( Bohater bohaterek)
    {
    	wyswietl = "Witaj w grze! \nPomóż bohaterowi odnaleźc zaginiony skarb";
    	bohater = bohaterek;
        setVisible(true);
        setSize(1366, 768);
      
        stat = new JTextArea();
        stat.setSize(200,100);
        stat.setBackground(new Color(0,0,0,0));
        stat.setFont(stat.getFont().deriveFont(1,16.0f));
        stat.setEditable(false);
        stat.setText("\nInformacje:        \nŻycie: \nZłoto:\nSiła:\nObrona:\nEkwipunek:");
        pStat = new JPanel (new GridLayout(1,2, 2,2));
        pStat.setBackground(new Color(0,0,0,0));
        pStat.add(stat);
        statDane = new JTextArea();
        statDane.setEditable(false);
        statDane.setBackground(new Color(0,0,0,0));
        statDane.setText("(...) ustawianie odpowiednich paramentrow");
        pStat.add(statDane);
        
        
        pole1 = new JTextArea(wyswietl);
        pole1.setBackground(new Color(0,0,0,0));
        pole1.setEditable(false);
        pole1.setSize(300,100);
       
        pole2 = new JTextArea();
        pole2.setBackground(new Color(0,0,0,20));
        pole1.setWrapStyleWord(true);
        pole2.setWrapStyleWord(true);
        pole1.setLineWrap(true);
        pole2.setLineWrap(true);
       
        
        pButton = new JPanel(new BorderLayout());
        pButton.setBackground(new Color(0,0,0,0));
        przycisk = new JButton("Potwierdź");
        przycisk.setBackground(new Color(0,0,0,30));
        
        info = new JLabel("Tutaj wpisz swoje polecenie:  ");
        pButton.add(info, BorderLayout.NORTH);
        pButton.add(pole2, BorderLayout.CENTER);
        pButton.add(przycisk, BorderLayout.SOUTH);        
        
        pmapa = new Mapa();
        add(pmapa, BorderLayout.CENTER);
        pmapa.add(pStat/*, BorderLayout.WEST*/);
        pmapa.add(pole1/*, BorderLayout.CENTER*/);
        pmapa.add(pButton);      
        
        przycisk.addActionListener(this);
        validate();
    }
    
    void odswiez ()
    {
    	statDane.setCaretPosition(0);
    	statDane.setText("");
    	//wyciete, tutaj są ustawiane wartości (...)
    	pole2.setText("");        
        
    }
public void actionPerformed(ActionEvent e) { 
        
        komenda = pole2.getText();
        wyswietlTekst(komenda);
        wyswietl = "Przed chwila wpisales: " + komenda; 
        pole1.setText(wyswietl);
        odswiez();
        /*this.revalidate();
        this.repaint();*/
       
    }
}
 
public class Mapa extends JPanel  {
	
	int x = 3*60+70, y = 3*60+260, velX = 1;
	
	public void paintComponent(Graphics g)
	{
		super.paintComponent(g);
		ImageIcon i = new ImageIcon("grafika\\mapa.png");
		i.paintIcon(this, g, 0, 0);
		
		//(...)
		
		ImageIcon bohaterek = new ImageIcon("grafika\\bohater.png");
		bohaterek.paintIcon(this,  g, x, y);
		
	}
	
	public void moving()
	{
		x = x + velX;
		y = y - velX;
		
		repaint();
	}

 

Próbowałam z karetką w tekstach, zmienić jej widoczność - bezskutecznie. Próbowałam usuwać i dodawać elementy na nowo, też nie działa. Kompletnie nie mam pomysłu co dalej.