所以我是一个非常新的程序员,我看了一个关于如何制作鼠标监听器的youtube教程。我仍然非常模糊鼠标监听器,但我的代码目前所处的位置(我主要是从视频中复制它),背景开始是白色,当鼠标释放时,背景变为红色。 / p>
我真正想要做的是显示图像,当释放鼠标时,显示不同的图像。
我该怎么做?
这是我目前的代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JFrame;
import javax.imageio.*;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
public class switchScreens extends JFrame{
private JPanel mousepanel;
private JLabel statusbar;
public switchScreens(){
super("title");
mousepanel = new JPanel();
mousepanel.setBackground(Color.WHITE);
add(mousepanel, BorderLayout.CENTER);
Handlerclass handler = new Handlerclass();
mousepanel.addMouseListener(handler);
}
private class Handlerclass implements MouseListener
{
public void mouseClicked(MouseEvent event){
}
public void mousePressed(MouseEvent event){
}
public void mouseReleased(MouseEvent event){
mousepanel.setBackground(Color.RED);
}
public void mouseEntered(MouseEvent event){
}
public void mouseExited(MouseEvent event){
}
}
}
更新:我的新代码;单击时背景不会发生变化
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import javax.swing.JFrame;
public class switchScreens extends JFrame{
private JLabel mousetest;
ImageIcon icon = new ImageIcon("Untitled.png");
public switchScreens(){
mousetest = new JLabel();
add(mousetest, BorderLayout.CENTER);
Handlerclass handler = new Handlerclass();
mousetest.addMouseListener(handler);
}
private class Handlerclass implements MouseListener
{
public void mouseClicked(MouseEvent event){
}
public void mousePressed(MouseEvent event){
}
public void mouseReleased(MouseEvent event){
mousetest.setIcon(icon);
}
public void mouseEntered(MouseEvent event){
}
public void mouseExited(MouseEvent event){
}
}
答案 0 :(得分:2)
你声明:
- 背景以白色开始,释放鼠标时,背景变为红色。
- 我真正想要做的是显示图像,当鼠标被释放时,显示不同的图像。
并显示此代码:
public void mouseReleased(MouseEvent event){
mousepanel.setBackground(Color.RED);
}
因此,您知道如何使用MouseListener以及代码应该在哪里进行更改,因此问题的解决方案很简单 - 而不是mousepanel.setBackground(Color.RED);
放入代码来更改图像。但是,如何执行此操作的所有重要细节将取决于您的问题的详细信息,您未告诉我们或向我们展示的详细信息。什么形象的细节?在哪里展示?在鼠标的网站上发布了吗?你知道如何显示任何图像吗?
修改强>
那么,你的问题的细节又是什么?
ImageIO.read(...)
方法阅读我的图像。