Я не уверен, что то, что вы хотите сделать, возможно.AWT имеет набор разрешений, которые можно настроить при запуске приложения в «песочнице» (см. AWTPermission , но они очень ограничены и, по-видимому, более нацелены на предотвращение плохой работы апплетов.
Кроме того, предотвращение имитации другим приложением кажется мне невозможным: если обоим приложениям разрешено создавать компоненты пользовательского интерфейса, что мешает одному создавать те же компоненты пользовательского интерфейса, что и другим?
Еслиу вас есть приложение, которому вы доверяете, а другое - нет, вам нужен код, который эти приложения не могут контролировать, который будет запускать их по-другому, например, сумасшедшая идея - это менеджер окон, который ставит красную рамку вокруг ненадежного приложения,так что пользователи могут идентифицировать его как ненадежного. Но Java, кажется, не имеет достаточной поддержки для чего-то подобного, когда оба приложения работают в одной и той же JVM, так как, кажется, нет никакого способа изолировать два приложения (простой FocusListener может позволить одному приложению иметь доступ к компонентам другого и изменять их).