前提・実現したいこと
デスクトップ作業中に一定時間でポップするノンアクティブなアニメーションをJAVAで作成したいです。
(エクセル作業中などに、ふと妖精さんなどが現れて消える感じ)
発生している問題・エラーメッセージ
JFrameの背景とタイトルバーを透明にして、常に最前面に表示されるアニメーションは作れたのですが、
再生されるたびにフォーカスがアニメーションに移ってしまいます。
アニメーション再生時にフォーカスが移らない方法はないものでしょうか?
該当のソースコード
java
1public class Anime01 extends JFrame { 2 private Pane panel = null; 3 private Image img01 = this.getToolkit().getImage("img01.png"); 4 private Image img02 = this.getToolkit().getImage("img02.png"); 5 6 public Anime01() { 7 super(); 8 super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 9 setLocation(300,300); 10 setSize(1000,600); 11 setLocationRelativeTo(null); // 画面中央に表示 12 setAlwaysOnTop(true); // 常に最前面に表示 13 setUndecorated(true); // ツールバー非表示 14 setBackground(new Color(0,0,0,0)); // 透明 15 panel = new Pane(); 16 super.setContentPane(panel); 17 super.setVisible(false); 18 super.pack(); 19 } 20 public void run() { 21 try { 22 this.setVisible(true); 23 panel.run(img01); 24 Thread.sleep(500); 25 SwingUtilities.updateComponentTreeUI(this); 26 panel.run(img02); 27 }catch(Exception e) { 28 e.printStackTrace(); 29 } 30 } 31} 32public class Pane extends JPanel{ 33 private Image img; 34 35 public Pane() { 36 super(); 37 super.setPreferredSize(new Dimension(1000,600)); 38 super.setLayout(null); 39 repaint(); 40 } 41 public void run(Image img) { 42 this.img = img; 43 repaint(); 44 } 45 public void paint(Graphics g) { 46 g.drawImage(img, 0, 0, this); 47 } 48}
試したこと
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。