Заставить JPanel не рисовать фон (прозрачный) - PullRequest
26 голосов
/ 10 сентября 2008

Возможно ли в Java заставить JPanel пропустить рисование фона, таким образом, будучи прозрачным, за исключением компонентов на нем?

Ответы [ 5 ]

36 голосов
/ 10 сентября 2008

setOpaque(false)

Он выделит фон для своего родителя, который может нарисовать свой собственный фон.

Вы можете сделать снимок экрана, а затем использовать его для рисования фона панели.

6 голосов
/ 10 сентября 2008

Эта статья содержит полезную информацию о том, как создавать прозрачные и прозрачные окна в Java:

http://today.java.net/pub/a/today/2008/03/18/translucent-and-shaped-swing-windows.html

2 голосов
/ 06 июня 2017

Если вы используете NetBeans, выполните следующие действия: -

  1. Щелкните правой кнопкой мыши на JPanel.
  2. Прокрутите вниз и найдите ((непрозрачный)). Должно быть, там.
  3. Снимите отметку.
  4. Теперь ваш JPanel фон будет удален и что появится в JPanel Фон - ваш фон JFrame.
2 голосов
/ 28 марта 2014
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 ) ;
    }
}
2 голосов
/ 11 сентября 2008

Технически JPanel может начинаться с непрозрачности. Это было верно для Gtk look & feel в 1.5 (или 1.4?), Но никаких других PL & F, насколько я знаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...