Joh*_*dep 5 java swing jlabel jbutton imageicon
是否可以在Swing中将Button叠加在Label上?
例如,如果有一个带有图像的JLabel而没有文本,我想在我的JLabel上覆盖我的按钮.标签定义如下:
myLabel = new javax.swing.JLabel(new ImageIcon( myPicture ));
Run Code Online (Sandbox Code Playgroud)
如果没有,那么任何想法我怎么能意识到这一点,谢谢.
编辑:其实我读到有关添加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);
}
Run Code Online (Sandbox Code Playgroud)
您可以使用a来完成JLayeredPane,但如果我理解正确,绝对最好的方法是覆盖paintComponent:
// as part of your JPanel
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(background, 0, 0, this);
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以根据需要向面板添加组件,而无需使用JLabel.
| 归档时间: |
|
| 查看次数: |
10723 次 |
| 最近记录: |