swing - "action manager" (+ hittest linii)

0

Witajcie,

Jako, ze nie znam niestety zbyt dobrze meandrów programowania w swingu, chcialbym prosic o wskazowke, jak znalezc informacje o oprogramowywaniu "action manager'a" w swingu.

Chodzi mi o to, ze powiedzmy operacje Kopiuj mozna wykonac poprzez menu aplikacji, przycisk na toolbarze, menu kontekstowe, itp. I chodzi o to, zeby kazda z tych metod dawala ten sam efekt (wywolanie tej samej metody), ale jednoczesnie "wylaczenie" tej akcji powodowalo "wylaczenie" jej we wszystkich miejscach (disable). Na pewno w Javie jest wlasnie taki "action manager", ale jakos nie moglem znalezc zadnych rozsadnych informacji na ten temat (pewnie dlatego, ze nie wiem, jak to sie nazywa w Javie).

Prosze wiec o nakierowanie :)

Ponadto, zeby nie zakladac nowego tematu chcialbym uzyskac porade, jak wg Was najlepiej zrealizowac hittest na rysowanej linii ? Chodzi mi o to, ze rysuje sobie linie z punktu A do B i potem klikam gdzies mysza i chcialbym spradzic, czy nie trafilem w te linie (klikniecie ma zaznaczac, jak sie mozna domyslic ;) ). Prosze o jakies pomysly, jak to mozna efektywnie zrealizowac.

Z gory dzieki :)

0

Witam, z tego co zrozumiałem, to prawdopodobnie chodzi Ci o coś takiego jak Action: http://java.sun.com<url>/j2se/1.4.2/docs/api/javax/swing/Action.html</url>. Mam nadzieję, że dobrze Cię zrozumiałem.

Co do hittesta (domyślam się, że wywodzisz się ze środowiska C# i Windows Forms, mam rację ;), to z tego, co mi wiadomo nie ma czegoś takiego formalnie w Swingu. Jeżeli rysujesz linię za pomocą klasy Line2D (http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/Line2D.html), to linia ta posiada metodę contains, która przyjmuje punkt, w którym nastąpiło kliknięcie i zwraca true, jeżeli punkt znajduje się na linii. Metodę tą posiadają wszystkie kształty z tego pakietu.

Pozdrawiam :).

0

Tak, na 99 % o to mi chodziło, ale muszę się dokładniej wczytać, żeby mieć pewność ;) Wielkie dzięki :)

A co do linii - nie myślałem, że to będzie takie proste ;)

No i co do Twoich domysłów, to niestety, ale nigdy nie pisałem nic w C#/Windows Forms (nawet "Hello World" ;) ). Co nie znaczy, że kiedyś to nie nastąpi - ale jakoś mam awersję do języków stworzonych przez M$ ;p

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