java_图形绘制(实现背景转换)帮忙修改一下大神们帮帮忙

设计并实现一个程序,其背景色会依据鼠标位置而变化:当鼠标位于左半窗口时背景色为红色;当鼠标位于右半窗口时背景色为兰色。设窗口初始的背景色为绿色。importjava.aw... 设计并实现一个程序,其背景色会依据鼠标位置而变化:当鼠标位于左半窗口时背景色为红色;当鼠标位于右半窗口时背景色为兰色。设窗口初始的背景色为绿色。 import java.awt.*; import java.awt.event.*; public class ClickCanvasTest extends Frame { private class WindowCloser extends WindowAdapter { public void windowClosing(WindowEvent we) { System.exit(0); } } public ClickCanvasTest() { super("背景转换"); add (new ClickCanvas()); addWindowListener(new WindowCloser()); pack(); setVisible(true); } public static void main(String args[]) { new ClickCanvasTest(); } } class ClickCanvas extends Canvas { private class MouseClicked extends MouseAdapter { public void mouseClicked(MouseEvent event) { if(getX()<250&&getX()>0)//鼠标在这个范围之类 setBackground (Color.blue);//背景设为red if(getX()>250&&getX()<500)//鼠标在这个范围之类 setBackground (Color.red);//背景设为blue } } public ClickCanvas() { setBackground (Color.green);//原始背景设为green addMouseListener (new MouseClicked()); setSize (500, 500); } } 展开
 我来答
单身快乐HD43
2014-10-15 · 超过56用户采纳过TA的回答
知道答主
回答量:190
采纳率:0%
帮助的人:57.8万
展开全部
这个问题刚刚已经答过了.以下是代码,可以参考一下: import java.awt.Color; import java.awt.Point; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; import javax.swing.JFrame; public class ClickCanvasTest extends JFrame { public ClickCanvasTest() { initGUI(); } private void initGUI() { setSize(500, 400); getContentPane().setBackground(Color.GREEN); try { this.addMouseMotionListener(new MouseMotionAdapter() { public void mouseMoved(MouseEvent evt) { Point p = evt.getPoint(); if (p.x < getContentPane().getWidth() / 2) { getContentPane().setBackground(Color.RED); } else { getContentPane().setBackground(Color.BLUE); } repaint(); } }); } catch (Exception e) { e.printStackTrace(); } } public static void main(String arg[]) { new ClickCanvasTest().setVisible(true); } }

麻烦采纳,谢谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式