Размещение изображения в jmenubar + jtoolbar - PullRequest
2 голосов
/ 28 декабря 2011

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

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

Спасибо!

Вот изображение, чтобы объяснить: enter image description here

Решено :: Я использовал два изображения (обрезано вправоsize to suite мой 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 Ответ

3 голосов
/ 28 декабря 2011

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

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

...