Java 背景颜色变化
我试着编写关于mouselistener的程序。我想让程序,如果鼠标光标进入或退出帧,帧的背景颜色改变Java 背景颜色变化,java,swing,colors,background,jframe,Java,Swing,Colors,Background,Jframe,我试着编写关于mouselistener的程序。我想让程序,如果鼠标光标进入或退出帧,帧的背景颜色改变 import java.awt.event.MouseListener; import java.awt.event.MouseEvent; import java.awt.Color; import javax.swing.JFrame; import java.awt.event.ActionListener; public class EnterExitListener extends
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.Color;
import javax.swing.JFrame;
import java.awt.event.ActionListener;
public class EnterExitListener extends JFrame
{
public static void main(String [] args)
{
JFrame frame=new JFrame();
final int FRAME_WIDTH=500;
final int FRAME_HEIGHT=600;
frame.setSize(FRAME_WIDTH,FRAME_HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
class MouseEnterExitListener implements MouseListener
{
public void mouseEntered(MouseEvent event)
{
System.out.println("ENTER");
frame.setBackground(Color.BLUE);
}
public void mouseExited(MouseEvent event)
{
System.out.println("EXIT");
frame.setBackground(Color.RED);
}
public void mouseReleased(MouseEvent event) {}
public void mouseClicked(MouseEvent event) {}
public void mousePressed(MouseEvent event) {}
}
MouseListener listener = new MouseEnterExitListener();
frame.addMouseListener(listener);
}
}
编译没有问题,如果我运行该程序,它会在I/O消息上显示ENTER、EXIT。然而,问题是颜色没有改变。它只是一个白色的框架。这里的问题是,显示JFrame内容的区域实际上是“内容窗格”,而不是JFrame本身的内容 你必须使用 frame.getContentPane().setBackground(颜色为.BLUE)
为什么要扩展JFrame?你的代码创建了一个JFrame,所以没有必要扩展JFrame。绿色的复选标记不是回答了吗??对不起,我还不知道这个网站。