Как установить фоновое изображение для панели с вкладками в Java Swing с помощью Netbeans GUI Builder?

Я пытаюсь установить фоновое изображение для панели с вкладками в приложении Java Swing, но я могу сохранить только цвета, как пройти через изображение?

РЕДАКТИРОВАТЬ из комментария

я хочу изображение для полной панели с вкладками. если я установлю изображение на метку и оставлю его на весь экран, я не могу сохранить какие-либо компоненты на этикетке


person Suresh    schedule 19.02.2014    source источник
comment
Покажите свой код, пожалуйста.   -  person Maroun    schedule 19.02.2014
comment
Посмотрите здесь.   -  person alex2410    schedule 19.02.2014
comment
Перед использованием GUI Builder я рекомендую вам прочитать этот пост   -  person alex2410    schedule 19.02.2014
comment
я хочу изображение для полной панели с вкладками. если я установлю изображение на метку и оставлю его на весь экран, я не могу сохранить какие-либо компоненты на этикетке   -  person Suresh    schedule 19.02.2014
comment
внимательно прочитайте ссылку   -  person alex2410    schedule 19.02.2014


Ответы (1)


Вот что вы делаете с помощью GUI Builder. Вместо того, чтобы использовать перетаскивание в форме JFrame для перетаскивания JPanel для JTabbedPane, сделайте это.

  1. Создайте класс формы JPanel
  2. Разместите JPanel со всеми необходимыми компонентами.
  3. В конструкторе добавьте это, чтобы загрузить изображение. Используйте свой собственный путь к изображению

    public class TabPanelOne extends javax.swing.JPanel {
        Image img;
        public TabPanelOne() {
            try {
                img = ImageIO.read(getClass().getResource("/resources/stackoverflow5.png"));
            } catch (IOException ex) {
                Logger.getLogger(TabPanelOne.class.getName()).log(Level.SEVERE, null, ex);
            }
            initComponents();
        }
    
  4. Переопределите метод paintComponent для JPanel и нарисуйте изображение

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
    }
    
  5. У вас должен быть пустой JTabbedPane в классе формы JFrame. В конструкторе просто добавьте форму JPanel

    public class NewJFrame extends javax.swing.JFrame {
        public NewJFrame() {
            initComponents();
            jTabbedPane1.add("panel1", new TabPanelOne());
        }
    

введите здесь описание изображения

person Paul Samsotha    schedule 19.02.2014
comment
Вопрос в том, как сделать прозрачную панель с вкладками, а не компонент или панель внутри нее. - person dacwe; 19.02.2014
comment
@peeskillet, как добавить изображение внутрь панели, я использовал этот код, он работает, но изображение не отображается. ImageIcon icon=new ImageIcon(logo.png); jLabel5.setIcon(значок); - person Suresh; 19.02.2014
comment
@Suresh Не добавляйте JLabel. Вы не сможете добавлять компоненты поверх него. Вам нужно нарисовать изображение на форме JPanel. Вам необходимо следовать приведенным выше инструкциям. Создайте отдельную форму JPanel, не перетаскивайте JPanel на форму JFrame. Вы знаете, как создать форму JPanel? - person Paul Samsotha; 19.02.2014
comment
@Suresh посмотри на свой предыдущий пост. Он показывает, как загрузить изображение am. Ты делаешь ту же ошибку, что и раньше. - person Paul Samsotha; 19.02.2014
comment
@peeskillet я узнал, теперь я пытаюсь с этим - person Suresh; 19.02.2014