Возможно ли, в Java, сделать JPanel
пропустить рисунок фона таким образом прозрачным, за исключением компонентов на нем?
Сделать JPanel не нарисовать свой фон (прозрачный)
Ответ 1
setOpaque(false)
Это приведет к покраске фона его родительскому элементу, который может нарисовать собственный фон.
Вы можете сделать захват экрана, а затем использовать его для рисования фона панели.
Ответ 2
Эта статья содержит полезную информацию о том, как создавать прозрачные и прозрачные окна в Java:
https://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html
Ответ 3
Технически JPanel может начинаться без оговорок. Это было верно для внешнего вида Gtk в 1.5 (или 1.4?), Но никаких других PL & Fs, насколько мне известно.
Ответ 4
class TransparentJPanel extends JPanel
{
TransparentJPanel()
{
super() ;
this.setOpaque( false ) ; // this will make the JPanel transparent
// but not its components (JLabel, TextField etc.)
this.setLayout( null ) ;
}
}
Ответ 5
Если вы используете NetBeans, то выполните следующие действия: -
- Щелкните правой кнопкой мыши по
JPanel
. - Прокрутка вниз и поиск ((непрозрачный)). Он должен быть там.
- Снимите флажок.
- Теперь ваш фон
JPanel
будет удален и что появится вJPanel
Фон - это ваш фонJFrame
.