创建Jframe设置背景色

来源:互联网 发布:mac怎么下flash 编辑:程序博客网 时间:2024/05/17 15:35
package com.springmybatis.test;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;import javax.swing.JButton;import javax.swing.JFrame;public class FrameMouseListener extends MouseAdapter {JFrame f;JButton red,blue,yellow;public FrameMouseListener() {    // TODO Auto-generated constructor stub    f = new JFrame("鼠标事件");    f.setLayout(new FlowLayout());    f.setBounds(400, 200, 300, 250);    red = new JButton("红色");    red.addMouseListener(this);    f.add(red);    f.setVisible(true);}@Overridepublic void mouseEntered(MouseEvent e) {    // TODO Auto-generated method stub    f.setBackground(Color.blue);    Map<Long, Long> map=new HashMap<Long, Long>();    map.put(1l, 1l);}/** * 调用JFrame或者Frame的 setBackground(Color color)方法设置后显示出来的颜色。其实,你的想法是正确的,但是我想提醒你的是,你没搞明白JFrame的显示机制。在你直接调用这个方法后,你的确设置了背景颜色,而你看到的却不是直接的JFrame或者Frame,而是JFrame.getContentPane().而JFrame上的contentPane默认是Color.WHITE的,所以,无论你对JFrame或者Frame怎么设置背景颜色,你看到的都只是contentPane * @see java.awt.event.MouseAdapter#mouseClicked(java.awt.event.MouseEvent) * @param e * @author  * @createtime 2015-7-27 上午09:47:15 */@Overridepublic void mouseClicked(MouseEvent e){ red.setBackground(Color.red); f.getContentPane().setBackground(Color.blue);}public static void main(String[] args) {    // TODO Auto-generated method stub    FrameMouseListener t= new FrameMouseListener();}}

0 0