2

我想知道是否可以将图像设置为 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));
4

1 回答 1

3

当然可以,但是您必须单独覆盖它们。您还需要保留一些全局变量(或者一个可以在两者之间传递的变量),以便他们知道每个变量有多大。

您需要覆盖paintComponent() 或添加您自己的UI 委托来进行绘画。您可以加载图像并仅在菜单栏上绘制顶部(或相对百分比),然后在工具栏上仅绘制底部或相对百分比。

于 2011-12-28T12:21:14.377 回答