Размещение изображения в jmenubar + jtoolbar

Я хотел бы знать, возможно ли установить изображение в качестве фона для jmenubar + jtoolbar (не только для одного из них, не для каждого из них, но для ОБА) ...

У кого-нибудь есть идея? Как мне это сделать, если это возможно?

Спасибо!

Вот изображение, чтобы объяснить:введите описание изображения здесь

Решено:: Я использовал два изображения (обрезанные до нужного размера для соответствия моему jmenubar+jtoolbar) и добавил их в объявления объекта как переопределения, и это прекрасно работает! Вот кусок кода:

    ///////////////////////////////
    JToolBar toolBar = new JToolBar(){
        @Override
        protected void paintComponent(Graphics g){

            Image photo = getToolkit().getImage("src/MainFrame/Images/xtremeCalliBottom.png");
            super.paintComponent(g) ; 
            int x=(mainFrame.getWidth()-200), y=0 ; 
            if(photo != null) 
                g.drawImage (photo, x, y, this);
        }
    };

    // ............

    //========== Menu Bar
    jMenuBar = new JMenuBar(){
        @Override
        protected void paintComponent(Graphics g){

            Image photo = getToolkit().getImage("src/MainFrame/Images/xtremeCalliTop.png");
            super.paintComponent(g) ; 
            int x=(mainFrame.getWidth()-200), y=0 ; 
            if(photo != null) 
                g.drawImage (photo, x, y, this);
        }
    };

     // ................


    jMenuBar.setPreferredSize(new Dimension(100, 25));
    toolBar.setPreferredSize(new Dimension(100,40));

1 ответ

Решение

Конечно, но вам придется переопределить их отдельно. Вам также необходимо сохранить некоторую глобальную переменную (или ту, которую вы можете передать между двумя), чтобы они могли знать, насколько велика каждая из них.

Вам нужно переопределить paintComponent() или добавить свой собственный делегат пользовательского интерфейса для рисования. Вы можете загрузить изображение и нарисовать только верхнюю часть (или относительный процент) в строке меню, а затем закрасить только нижнюю часть или относительный процент на панели инструментов.

Другие вопросы по тегам