java 菜单条JMenuBar可以设置背景(颜色或图片)吗?具体怎么设置?
1个回答
展开全部
可以在JMenuItem上设置图片和背景颜色。具体给你个例子你看看:(设置方法见注释)
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;
public class E extends JFrame implements ActionListener{
JButton close=null;
JMenuItem mopen=null;
JMenuItem mclose=null;
JMenuItem mexit=null;
E(){
close=new JButton("退出");
add(close,BorderLayout.SOUTH);
close.addActionListener(this);
JMenuBar jmb=new JMenuBar();
JMenu file=new JMenu("文件");
mopen=new JMenuItem("打开");
ImageIcon logoing=new ImageIcon("black_bishop.gif"); //这里定义一个Icon图片
mopen.setIcon(logoing); //这里设置Icon图片到MenuItem
mopen.setBackground(Color.YELLOW);//这里设置MenuItem的背景色为黄色
mclose=new JMenuItem("关闭");
mexit=new JMenuItem("退出");
JSeparator separator=new JSeparator();
file.add(mopen);
file.add(mclose);
file.add(separator);
file.add(mexit);
jmb.add(file);
setJMenuBar(jmb);
mclose.addActionListener(this);
mexit.addActionListener(this);
setSize(300, 300);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
public static void main(String[] args) {
new E();
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==close){
dispose();
}else if(ae.getSource()==mclose){
dispose();
}else if(ae.getSource()==mexit){
dispose();
}
}
}
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;
public class E extends JFrame implements ActionListener{
JButton close=null;
JMenuItem mopen=null;
JMenuItem mclose=null;
JMenuItem mexit=null;
E(){
close=new JButton("退出");
add(close,BorderLayout.SOUTH);
close.addActionListener(this);
JMenuBar jmb=new JMenuBar();
JMenu file=new JMenu("文件");
mopen=new JMenuItem("打开");
ImageIcon logoing=new ImageIcon("black_bishop.gif"); //这里定义一个Icon图片
mopen.setIcon(logoing); //这里设置Icon图片到MenuItem
mopen.setBackground(Color.YELLOW);//这里设置MenuItem的背景色为黄色
mclose=new JMenuItem("关闭");
mexit=new JMenuItem("退出");
JSeparator separator=new JSeparator();
file.add(mopen);
file.add(mclose);
file.add(separator);
file.add(mexit);
jmb.add(file);
setJMenuBar(jmb);
mclose.addActionListener(this);
mexit.addActionListener(this);
setSize(300, 300);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
public static void main(String[] args) {
new E();
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==close){
dispose();
}else if(ae.getSource()==mclose){
dispose();
}else if(ae.getSource()==mexit){
dispose();
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询