Nie odswierza

0

Witam. Mam sobie o to dwie takie klasy.
Dodałem event wszystko po raz pierwszy ładnie się wyswietla czemu tylko nie robie update ? Jak zrobić by się stan tej ramki odświeżał.
"panel.licz" lub this.licz sie zmienia.

package Main;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.*;
public class Main {
	static ObrazPanel panel;

	public static void main(String[] args) {
		
		
        SwingUtilities.invokeLater(new Runnable() { public void run() {
            JFrame frame = new JFrame("Paweł Białas, 155030 5 pkt!");
            JButton button = new JButton("tura");
            panel = new ObrazPanel(); 
            Akcja lol = new Akcja();
            button.addActionListener(lol);
            frame.add(panel,BorderLayout.NORTH);
            frame.add(button,BorderLayout.SOUTH);
            
            frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
          
            frame.pack();
            frame.setVisible(true);
        } });
    }
	
	private static class Akcja implements ActionListener
	{

		public void actionPerformed(ActionEvent e) {
			
			panel.licz++;
			Graphics g = null;
			panel.paintComponent(g);
		}
		
	}

}
package Main;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JPanel;

public class ObrazPanel extends JPanel {

	public int licz;
	private BufferedImage image;

	public ObrazPanel() {
		super();
		this.licz = 1;
		File imageFile = new File("C.png");
		try {
			image = ImageIO.read(imageFile);
		} catch (IOException e) {
			System.err.println("Blad odczytu obrazka");
			e.printStackTrace();
		}

		Dimension dimension = new Dimension(400, 400);
		setPreferredSize(dimension);
	}

	@Override
	public void paintComponent(Graphics g) {
		
		
		 int imageWidth = image.getWidth(this);
	     int imageHeight = image.getHeight(this);
	     Graphics2D g2d = (Graphics2D) g;
		g2d.drawImage(image, 0, 0,null);
			for (int i = 0; i <20 && i<this.licz; i++)
		         for (int j = 0; j< 20; j++)
		               g.copyArea(0, 0, imageWidth, imageHeight, i * imageWidth, j * imageHeight);
		   
		
	}
}
0

LOL! Jest szansa pociągnąć na perełki czy musicie od razu do kosza? :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1