I've got problem with my class Component. The problem is that my ovals doesn't changing their colors. The function if is observing OVF flag in class Counter. when OVF=true ovals should be red, and when OVF=false ovals should be white. in my GUI i can see only red ovals (even if OVF=false). I try to add repaint() command but red ovals only started blinking. Here is my code:
import java.awt.*;
import javax.swing.*;
import java.util.Observable;
public class Komponent extends JComponent
{
Counter counter3;
public Komponent()
{
counter3=new Counter();
}
public void paint(Graphics g)
{
Graphics2D dioda = (Graphics2D)g;
int x1 = 85;
int x2 = 135;
int y = 3;
int width = (getSize().width/9)-6;
int height = (getSize().height-1)-6;
if (counter3.OVF = true)
{
dioda.setColor(Color.RED);
dioda.fillOval(x1, y, width, height);
dioda.fillOval(x2, y, width, height);
}
if (counter3.OVF = false)
{
dioda.setColor(Color.WHITE);
dioda.fillOval(x1, y, width, height);
dioda.fillOval(x2, y, width, height);
}
}
public static void main(String[] arg)
{
new Komponent();
}
}
what is wrong with that code?
If should be:
if (counter3.OVF == true) { // watch out for = and ==
// red
}
if (counter3.OVF == false) {
// white
}
Or simpler:
if (counter3.OVF) {
// red
} else {
// white
}
Or simplest:
dioda.setColor(counter3.OVF ? Color.RED : Color.WHITE);
dioda.fillOval(x1, y, width, height);
dioda.fillOval(x2, y, width, height);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.