Jmenu 可以鼠标移上去就改变颜色吗? 怎么实现?

解决方案 »

  1.   


    import java.awt.Color;
    import java.awt.event.*;
    import javax.swing.*;public class MyFrame {
    private JFrame jframe;
    private JMenu menu;
    private JMenuBar menuBar; public MyFrame() {
    jframe = new JFrame("你好");
    menu = new JMenu("菜单");
    menuBar = new JMenuBar();
    jframe.setJMenuBar(menuBar);
    menuBar.add(menu);
    menu.addMouseListener(new MouseAdapter() {
    public void mouseEntered(MouseEvent e) {
    menu.setForeground(Color.red);
    } public void mouseExited(MouseEvent e) {
    menu.setForeground(Color.black);
    }
    });
    jframe.setSize(300, 100);
    jframe.validate();
    jframe.setVisible(true);
    } public static void main(String[] args) {
    new MyFrame();
    }
    }
      

  2.   


    import java.awt.event.*;
    import javax.swing.*;public class MyFrame extends JFrame {
    private static final long serialVersionUID = 1L;
    private JMenuBar jMenuBar;
    private JMenu jMenu;
    private JMenuItem jMenuItem; public MyFrame(String title) {
    super(title);
    jMenuBar = new JMenuBar();
    jMenu = new JMenu("菜单");
    jMenuItem = new JMenuItem("你好");
    jMenu.add(jMenuItem);
    jMenuBar.add(jMenu);
    this.setJMenuBar(jMenuBar);
    this.setSize(300, 300);
    this.validate();
    this.setVisible(true);
    this.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent w) {
    System.exit(0);
    }
    });
    jMenu.addMouseListener(new MouseAdapter() {
    public void mouseEntered(MouseEvent m) {
    jMenu.setSelected(true);
    jMenu.doClick();
    }
    });
    } public static void main(String[] args) {
    new MyFrame("Hello");
    }
    }楼主看看这样满足你要求不?