效果示例
Java Swing JPanel JTextArea 背景图片添加不遮挡上级内容呈现
代码示例
提示:只挑写了关键部分。不一定能直接运行
ImageIcon img = new ImageIcon(Objects.requireNonNull(App.class.getClassLoader().getResource("img/filePathBg.png")));
JPanel panel = new JPanel(){
// !!!划重点 start!!!
// 重写paintComponent 添加背景图片
@Override
protected void paintComponent(Graphics g) {
g.drawImage(img.getImage(), 0, 0, getWidth(), getHeight(), this);
}
//!!!划重点 end!!!
};
JTextArea textArea = new JTextArea();
textArea.setBounds(0,0,500,500);
// !!!划重点 start!!!
//重点说明:背景上级组件需设置setOpaque false,透明意思;
textArea.setOpaque(false);
//!!!划重点 end!!!
panel.add(textArea);
https://blog.xqlee.com/article/2507091551592537.html