Swingのラベルの上にボタンをオーバーレイすることは可能ですか?
たとえば、画像がありテキストがないJLabelがあり、このJLabelの上にボタンをオーバーレイしたい場合です。ラベルは次のように定義されます。
myLabel = new javax.swing.JLabel(new ImageIcon( myPicture ));
そうでない場合は、どのように私はこれを実現することができますか、ありがとう。
編集:実際に私はJPanelをJLabelに追加することについて読みました、ボタンレイアウトのパネルを追加すると、それはうまくコンパイルされますが何も表示されません、画像付きのJLabelだけです
更新: @ paranoid-androidによって提案されたように、どういうわけか私は私の問題を解決しました。ただし、制御があまりないため、JLabelの上にオーバーレイされるコンポーネントの位置をカスタマイズする方法を知る必要があります(おそらく、通常、レイアウトの描画にNetBeansを使用しているため、ハードコーディングが必要になります)。
このようなものが機能しました:
ImagePanel(Image image, int id) {
this.image = image;
this.tile = false;
JButton backButton = new JButton();
JButton nextButton = new JButton();
backButton.setText(" BACK ");
nextButton.setText(" NEXT ");
add(backButton);
add(nextButton);
};
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
}