- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 RocketShip 的面板,我想向其中添加我的 MouseListener 和 MouseMotionListener,但它告诉我“this”是一个无效名称。我的教科书有时会使用这个,教授也建议我们在这种情况下使用“这个”,所以我对问题是什么感到困惑。例如,我的代码如下。感谢您提供的任何建议。
import java.applet.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;
//I cannot understand how to draw my new rocketship or how to update the coordinates for mouse moved, mouse dragged, mouse pressed or mouse released
//also not sure how to work with setShooting
public class RocketShipPanel extends JPanel implements MouseListener,MouseMotionListener
{
private final int WIDTH = 300, HEIGHT = 300;
RocketShip ship = new RocketShip();
public RocketShipPanel(){ //constructor
addMouseListener (this());
addMouseMotionListener (this());
setBackground (Color.black);
setPreferredSize (new Dimension(WIDTH, HEIGHT));
}
public void paintComponent (Graphics page)
{
super.paintComponent(page);
ship.draw(page, 50);
}
public void mousePressed (MouseEvent event)
{
ship.setShooting(true);
repaint();
}
public void mouseReleased (MouseEvent event)
{
ship.setShooting(false);
repaint();
}
public void mouseMoved (MouseEvent event)
{
Point point1 = event.getPoint();
int x = point1.x;
int y = point1.y;
ship.move(x, y);
repaint();
}
public void mouseDragged (MouseEvent event)
{
Point point1 = event.getPoint();
int x = point1.x;
int y = point1.y;
ship.move(x, y);
//pointList.add(event.getPoint());
repaint();
}
//--------------------------------------------------------------
// Provide empty definitions for unused event methods.
//--------------------------------------------------------------
public void mouseEntered (MouseEvent event) {}
public void mouseExited (MouseEvent event) {}
public void mouseClicked(MouseEvent event) {}
public static void main (String[] args)
{
JFrame frame = new JFrame ("RocketShip");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add (new RocketShipPanel());
frame.pack();
frame.setVisible(true);
}
}
最佳答案
this
后面不需要括号。它就像一个变量名,而不是一个方法。
关于java - 不知道为什么我无法让 addMouseListener(this())、addMouseMotionListener(this()) 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4400657/
我在调用两个鼠标事件(一个进入另一个)时遇到问题。我想当用户单击第一帧 (frame1) 中的组件 (component1) 时显示第二帧 (frame2),然后如果单击 component2,则返回
这是我的按钮代码 onclick 我希望我的程序等待用户单击一个 JPanel,并且当用户单击 JPanel 时,它应该在控制台上打印其名称。 此按钮代码未显示输出 JPopupMenu popu
我在 DefaultTableCellRenderer 中使用 MouseListner。 标签应该得到这个============================> public class Cat
当我编译以下代码时出现错误: The method addMouseListener(Player) is undefined for the type Player 代码: import java.
我尝试向我的 JMenuItems 添加一个 Action 监听器以进行右键单击。我看到很多例子,他们使用 item.addActionListener(this) 向 JMenuItem 添加监听器
我目前在这里为我的鼠标 listener 使用此代码: public void mousePressed(MouseEvent e) { JLabel labelReference=(JLab
我目前正在编写一个程序,该程序在 for 循环内创建并排列在网格中的 28 个标签,我想为每个标签添加一个 mouseListener。我可以向每个标签添加一个 mouseListener,但是当我尝
今天有个问题..我的程序制作了一个 8x8 网格并在我单击 JButton 时显示坐标。 但我拒绝使用 JButton,我需要使用 JPanel.. 但是我的 addMouseListener 不工作
我的问题是,当我创建一个继承自 JPanel 的类时,为什么不使用 super.addMouseListener() 来添加监听器?我认为这个方法位于父类(super class) JPanel 中。
最近,我一直在学习Java,并且不断遇到以下错误:this method (*) is undefined for the type(*)。我过去通过导入缺少的库解决了这个问题,但在下面的代码中,即使
以下是使用 Oracle 网站上的 mouseEvent 的示例: 我不希望任何人阅读整个代码。我只对下面代码的特定行感兴趣: addMouseListener(this);//为什么允许“this”
这是我的 RocketShip 的面板,我想向其中添加我的 MouseListener 和 MouseMotionListener,但它告诉我“this”是一个无效名称。我的教科书有时会使用这个,教授
假设您想使用“关闭应用程序”菜单项关闭您的 Java 应用程序。 3 种可能的解决方案是(使用 ActionListener 或 MouseAdapter 或 MouseListener): menu
我有 3 个 JLable,并且我向 l3 添加了单击时的功能,将 JLabel 文本设置为值存储到数组中 (ans.get(0,0)) JLabel l1 = new JLabel("Obtener
这个问题已经有答案了: JList selected item to String - Weird result: Donnees.Marques@3d5bac58 (4 个回答) 已关闭 8 年前。
我的代码dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING))不起作用: jTable1.addMouseListener(n
我将自定义面板添加到 JScrollPane 上。我还有另一套“工具”,可以将其附加到我的自定义面板上。问题是,在这些工具中,它调用 attached.addMouseListener(this)。通
我有以下代码来跟踪用户在表中选择的内容,在用户选择聊天对话后,我想隐藏包含该表的 JPanel 并显示 JPanel 包含聊天对话。请参阅我当前执行此操作的代码: table.addMo
我想从 com.jogamp.newt.event.MouseListener 添加一个 MouseListener像这样的 GLAutoDrawable: /* inside the class t
在定义 JButton 上的简单单击行为时,哪种方法是正确的?而且,有什么区别? JButton but = new JButton(); but.addActionListener(new Acti
我是一名优秀的程序员,十分优秀!