背景画像を追加するために、私はJPanelの代わりにJLabelsを使用します。JLabelでJScrollPaneを固定する
JFrame frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label=new JLabel(new ImageIcon("bg.png"));
label.setLayout(new BoxLayout(label, BoxLayout.Y_AXIS));
for(int i=0;i<20;i++)
label.add(new JLabel(i.toString()));
frame.add(label);
ここでの問題は、背景画像に合わせてコンポーネントのみが
私はJScrollPaneの
JScrollPane scroll=new JScrollPane(l);
for(int i=0;i<20;i++)
label.add(new JLabel(i.toString()));
frame.add(scroll);
が、それを使用してみました(私の例では唯一の10の最初のJLabel)表示されるということです多くの変更、私はので、私はJScrollPaを得たのJPanel
JPanel panel=new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JScrollPane scroll=new JScrollPane(panel);
for(int i=0;i<20;i++)
panel.add(new JLabel(i.toString()));
label.add(scroll);
frame.add(label);
を使用してみましませんでした正しく動作していますが、JPanelが背景画像をカバーしています
どうすればいいですか?スクロールにそれらを追加した後
結果:
そしてJPanel
にsetOpaque(false)
を追加した後:ここで
は、 'JPanel'の不透明度をfalseに設定します。しかし、より良い助けを早く得るには、あなたが持っているものと達成したいものの[mcve]とASCIIアート/画像を投稿してください。まだ十分な評判がないので、あなたの画像へのリンクを追加することができます。投稿を編集してここに表示させることもできます。 – Frakcool
また、控えめな推薦として、変数をよりわかりやすく、 'l'は' l '?私はそれが何であったのかを知るためにコードに上がって、パネルの 'label'や' pane'/'panel'と呼び、' scroll'/'scrollPane'/etcに変更しました。コードを読みやすく理解してくれます。 – Frakcool
いいえ、うまくいきませんでした。 –