1.
Hej, struktura wyglada tak. Najpierw w EventQueue, w metodzie run wrzucam konstruktor ramki. Ramka jest w klasie o nazwie MyFrame. W klasie MyFrame daje konstruktor Panelu (MyPanel). No i teraz mam tak, ze podczas dzialan na ramce w przypadku kiedy uzytkownik przesunie ramke musze sie o tym dowiedziec by odpowiednio wykonac dzialania. Tylko jak sie odwolac? Znalazlem metoda getLocationOnWindow() ktora bylaby pomocna. Tylko nie wiem jak ja zaimplementowac. Sluchacza musialbym wrzucic do klasy z ramka? Bylby to jakis WindowEvent? Jesli tak to dalej, w jaki sposob przeslac do MyPanel informacje o zmianei jej polozenia?
TEST
package pl.java.myproject;
import java.awt.EventQueue;
public class Test {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable () {
public void run () {
MyFrame frame = new MyFrame();
}
});
}
}
MY FRAME
package pl.java.myproject;
import javax.swing.JFrame;
class MyFrame extends JFrame {
public MyFrame () {
setSize(600,400);
setVisible(true);
add(new MyPanel());
}
}
MY PANEL
...
2.
Jak myslicie w jaki sposob jest zrobione w windowsowym paincie ze jak np. narysujesz trojkat z 3 prostych (ale nie mowiac jawnie ze rysujesz wielobok zamkniety) to gdy zamaluesz obszar pomiedzy nimi zamalowany zostanie jakby byl to wielokat? To sa jakies skomplikowane procedury idacy piksel po pikselu i sprawdzajace czy jest utworzona figura zamknieta czy mozna to jakos łatwiej?