Nie znam się dobrze na Javie i próbuję zbudować siatkę w oknie, ale nie jestem pewien, którą klasę powinienem rozszerzyć (jak JFrame) i która metoda jest najlepszym sposobem na uzyskanie tej siatki.
Moim celem jest stworzenie siatki i niech kwadraty będą mrugać losowo.
Wypróbowałem to JPanel, ale nie jestem pewien, czy jest to właściwy sposób
Zawartość JPanel = nowy JPanel (nowy GridLayout (4,4));
Odpowiedzi:
0 dla odpowiedzi № 1Chciałbym użyć JPanel na JFrame. Zastępujesz metodę paintComponent JPanel, aby dopasować ją do swoich potrzeb:
@Override
public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.BLACK);
//draw rects
for(int i=0; i<n; i++){
//draw rects
g2d.drawRect(x, y, width, height);
}
//fill rects
for(int i=0; i<n i++){
//set random color for blinking effect
g2d.setColor(/*random color*/);
g2d.fillRect(x, y, width, height);
}
}
Musisz jednak samodzielnie obliczyć siatkę, używając rozmiaru swojego JPanel i rozmiaru kwadratów, które chcesz narysować. Następnie ustaw Timer i przerysuj za każdym razem, gdy chcesz uzyskać ten migający efekt.
Jeśli nie znasz java Swing i prostych operacji rysowania, powinieneś obejrzeć te same samouczki itp., Ponieważ nie zamierzam tego wszystkiego wyjaśniać;).