Mam dziwny przypadek w prostym programie z dwoma przyciskami:
Załącznik "test"
A efekt jakiego się spodziewam to:
Załącznik "test2"
Nie wiem czemu wyświtla mi się w pewnym sensie drugi raz ten sam przycisk (którego nie da się użyć/nacisnąć). Raz wyświetla mi się poprawnie a czasami z tym dodatkowym przyciskiem.
Mój kod:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.border.Border;
public class Okno
{
JFrame ramka;
JButton przycisk1, przycisk2;
public static void main(String[] args)
{
Okno okno1 = new Okno();
okno1.doIt();
}
public void doIt()
{
ramka = new JFrame("Ramka testowa");
ramka.setVisible(true);
ramka.setSize(300, 300);
ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
OknoPanel op1 = new OknoPanel();
przycisk1 = new JButton("EXIT");
przycisk1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
przycisk2 = new JButton("OK");
przycisk2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
przycisk1.setText("test");
ramka.repaint();
}
});
ramka.getContentPane().add(BorderLayout.EAST, przycisk1);
ramka.getContentPane().add(BorderLayout.WEST, przycisk2);
ramka.getContentPane().add(BorderLayout.CENTER, op1);
}
}
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class OknoPanel extends JPanel
{
int zmienna1, zmienna2;
public void paintComponent(Graphics g)
{
g.setColor(Color.BLUE);
g.fillRect(zmienna1, zmienna2, 50, 50);
zmienna1 ++;
zmienna2 ++;
}
}