Hey,
folgendes Problem:
Habe nen Mouselistener auf nem TrayIcon und nen Frame
Folgendes soll nun geschehen wenn auf das TrayIcon geklickt wurde:
- frame hidden -> setVisible(true) + toFront() DONE
- frame minimized -> setExtendedState(oldState) DONE
- frame visible + on top -> setVisible(false)
- frame visible + not on top -> toFront()
Problematisch hierbei ist die Unterscheidung ob "on top" oder nicht, da das Frame automatisch beim Klick auf das TrayIcon ja nichtmehr "on top" ist, bzw. keinen Fokus mehr hat.
Realisierung der Feststellung ob das Frame den Fokus hat per windowFocusListener
hat jemand eine Idee wie ich unterscheiden kann, ob ein Frame den Fokus hatte, bevor auf das TrayIcon geklickt wurde?
Bisher habe ich 2 Variablen:
focused => momentaner Status
focusedBefore => alter Status
neuer Status ist nach dem Klick logischer Weise immer false; alter Status immer true, da ein Fenster ja nicht zweimal den Fokus verlieren kann, ohne ihn vorher gehabt zu haben.
Eine Unterscheidung fällt daher sehr schwer, bzw. ist unmöglich.
Danke im Voraus
folgendes Problem:
Habe nen Mouselistener auf nem TrayIcon und nen Frame
Folgendes soll nun geschehen wenn auf das TrayIcon geklickt wurde:
- frame hidden -> setVisible(true) + toFront() DONE
- frame minimized -> setExtendedState(oldState) DONE
- frame visible + on top -> setVisible(false)
- frame visible + not on top -> toFront()
Problematisch hierbei ist die Unterscheidung ob "on top" oder nicht, da das Frame automatisch beim Klick auf das TrayIcon ja nichtmehr "on top" ist, bzw. keinen Fokus mehr hat.
Realisierung der Feststellung ob das Frame den Fokus hat per windowFocusListener
hat jemand eine Idee wie ich unterscheiden kann, ob ein Frame den Fokus hatte, bevor auf das TrayIcon geklickt wurde?
Bisher habe ich 2 Variablen:
focused => momentaner Status
focusedBefore => alter Status
neuer Status ist nach dem Klick logischer Weise immer false; alter Status immer true, da ein Fenster ja nicht zweimal den Fokus verlieren kann, ohne ihn vorher gehabt zu haben.
Eine Unterscheidung fällt daher sehr schwer, bzw. ist unmöglich.
Danke im Voraus