gpt4 book ai didi

java - Java背景颜色改变

转载 作者:行者123 更新时间:2023-12-02 04:23:19 25 4
gpt4 key购买 nike

我尝试编写有关鼠标监听器的程序。我想做一个程序,如果鼠标光标进入或退出框架,框架的背景颜色会改变。

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 内容的区域实际上是“内容 Pane ”,而不是 JFrame 本身的内容。

你必须使用

frame.getContentPane().setBackground(Color.BLUE);

关于java - Java背景颜色改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32501911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com