我想知道是否可以将图像设置为jmenubar + jtoolbar的背景(不仅仅是针对他们中的一个,而不是针对他们中的每一个,但是对于他们而言......)
任何人都有自己的想法? 如果有可能,我该怎么做呢?
谢谢!
这里有一张图片来解释:
Solved ::我使用了两个图像(剪切到合适的大小以适应我的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));
答案 0 :(得分:3)
当然可以,但你必须单独覆盖它们。你还需要保留一些全局变量(或者你可以在两者之间传递的变量),以便他们知道每个变量有多大。
您需要覆盖paintComponent()或添加自己的UI委托来进行绘画。您可以加载图像并仅在菜单栏上绘制顶部(或相对百分比),然后仅在工具栏上绘制底部或相对百分比。