- ベストアンサー
ウィンドウなしで画像表示
FrameやJFrameなどでウィンドウを作成せずに画像を表示することはできるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
frameコンポーネントを使用せずに、panelコンポーネント等を 表示する方法はないと思われます。 JFrameを生成した後、その表示枠を消すことは可能です。 以下に、サンプルコードを載せます。 import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; /** * JFrameの表示枠の表示/非表示を切り替えるサンプルコードです。 */ public class NonFrameSample { public NonFrameSample() { final JFrame frame = new JFrame(); // frame.add( component ); // 適当なコンポーネントを追加 frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setBounds( 100, 100, 600, 400 ); frame.setVisible( true ); JButton button = new JButton("ToggleButton"); button.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e) { frame.dispose(); // 表示枠の状態を切り替えるために一旦解放 frame.setUndecorated( !frame.isUndecorated() ); // トグル切り替え frame.setVisible( true ); // 再表示 } } ); frame.add( button, BorderLayout.SOUTH ); frame.validate(); } public static void main(String[] args) { new NonFrameSample(); } }
お礼
HarukaV49さん、ご回答ありがとうございます! JFrameでフレームを作ってからフレームの装飾を消すのですか… なんとかフレーム無しでできないものかと、「Window無しで~」みたいな調べ方しかしていなかったので、フレームをどうこうという発想も知識もありませんでした… これを応用すればなんか色々遊べそうですね…笑 活用させていただきます!! ありがとうございました!!