Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(SwingのsetBoundsで指定した位置にオブジェクトが描画されない)
閲覧数:202
掲示板(SwingのsetBoundsで指定した位置にオブジェクトが描画されない)
名前
匿名
題名 SwingのsetBoundsで指定した位置にオブジェクトが描画されない
質問内容

質問を評価する
(0ポイント)
こんにちわ、以前にJMFに代わるフレームワークについて質問したものです。
WebCam Captureで問題なくUSBカメラのプレビューすることが出来ました。

現在は、プレビュー画面の上に付加情報(文字や枠線)を重ねる実装の試作をしているのですが、想定しない動作をしています。

実装の確認の段階なので、部品(JLabel)を画面上の特定の場所に置こうとしていますが、想定した場所に配置されません。
なぜか画面の中央の上に配置されます。

アプリの構成はシンプルで
JFrame, JPanel,JLabelを使っています。
最終的にはJPanelがWebcamPanel(WebCam Captureのクラス:JPanelのサブクラス)に置き換わります。
------ソースの抜粋------
JFrame window = new JFrame("Test webcam");
panel = new JPanel();
panel.setPreferredSize(new Dimension(640, 480));

JLabel label = new JLabel("テスト用の文字列です", JLabel.CENTER);
label.setBorder(BorderFactory.createLineBorder(Color.BLUE));
label.setBounds(200, 100, 250, 60);//ここで指定した座標に文字列が表示されません
label.setForeground(Color.RED);
label.setOpaque(true);
label.setBackground(Color.GRAY);
panel.add(label);//JPanelにJLabelを追加

window.add(panel);//JFrameにJPanelを追加
window.setBounds(0, 0, 640, 480);
window.setVisible(true);
------ソースの抜粋------

何か不足あるいは勘違いしているでしょうか?
やりたいのは、プレビュー画像の上に重ねて、文字や四角、線などを表示することです。

よろしくお願いします。
質問日時 2014-01-23 18:18:06
名前
匿名
回答内容

回答を評価する
(30ポイント)
ヒント:レイアウト

いろいろやりたいことを試すより前に、Swingの基礎をざっと
見ておくべきだろうな。
というか、現象をぐぐるだけでもいい。
回答日時 2014-01-23 19:32:11
名前
匿名
回答内容

回答を評価する
(0ポイント)
>2014-01-23 19:32:11

ありがとうございます。
Swing レイアウト 座標指定
でぐぐったら出てきました。

panel = new JPanel();
panel.setLayout(null); //追記 レイアウトマネージャを無効にする

で想定した場所にJLabelが表示されるようになりました。
ありがとうございました。
回答日時 2014-01-24 09:50:14
回答内容を入力し、「確認」ボタンをクリックしてください。
ログインしていません。ログインしなくても回答はできますが、ログインすると、質問・回答の管理、更新があった場合のメールでの通知を受けることができます。 ユーザIDをお持ちでない方は「ID登録」からユーザIDの登録を行ってください。
氏名 匿名
回答内容
 



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道