- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
出于显而易见的原因,我在我的游戏中实现了 MouseListener;用户需要能够点击看板。
问题不在于单击面板本身,而在于重置按钮 resetBoard
和鼠标监听器。当我单击按钮时,电路板发生变化,但是当单击被释放时,电路板再次发生变化。考虑到我的所有操作都在 public void mouseClicked(MouseEvent e)
block 下,我找不到任何地方可以解释为什么它在按下和释放时都会发生变化。我有空的 mouseReleased
、mouseEntered
、mouseExited
、mousePressed
。
基本上,有人能帮我理解为什么当只有 mouseClicked
不为空时,板会在鼠标按下和向上(以相同的 Action )时重置。
哦,我知道我不需要所有这些导入,只是我确实曾经使用过它们,但我忘了将它们取出来,因为我对当前的问题太着迷了。
对于重复的内容感到抱歉...以及其中的所有内容。这是我目前知道的唯一方法。
谢谢!
public class Blox implements ActionListener {
private final String gameVersion = "Blox - v1.0.2";
private ImageIcon purpleBlock = new ImageIcon();
private ImageIcon redBlock = new ImageIcon();
private ImageIcon blueBlock = new ImageIcon();
private ImageIcon greenBlock = new ImageIcon();
private ImageIcon closeImage = new ImageIcon();
private JButton block1 = new JButton();
private JButton block2 = new JButton();
private JButton block3 = new JButton();
private JButton block4 = new JButton();
private JButton block5 = new JButton();
private JButton block6 = new JButton();
private JButton block7 = new JButton();
private JButton block8 = new JButton();
private JButton block9 = new JButton();
private JButton block10 = new JButton();
private JButton block11 = new JButton();
private JButton block12 = new JButton();
private JButton block13 = new JButton();
private JButton block14 = new JButton();
private JButton block15 = new JButton();
private JButton block16 = new JButton();
private JButton block17 = new JButton();
private JButton block18 = new JButton();
private JButton block19 = new JButton();
private JButton block20 = new JButton();
private JButton block21 = new JButton();
private JButton block22 = new JButton();
private JButton block23 = new JButton();
private JButton block24 = new JButton();
private JButton block25 = new JButton();
private JButton block26 = new JButton();
private JButton block27 = new JButton();
private JButton block28 = new JButton();
private JButton block29 = new JButton();
private JButton block30 = new JButton();
private JButton block31 = new JButton();
private JButton block32 = new JButton();
private JButton block33 = new JButton();
private JButton block34 = new JButton();
private JButton block35 = new JButton();
private JButton block36 = new JButton();
private JButton block37 = new JButton();
private JButton block38 = new JButton();
private JButton block39 = new JButton();
private JButton block40 = new JButton();
private JButton block41 = new JButton();
private JButton block42 = new JButton();
private JButton block43 = new JButton();
private JButton block44 = new JButton();
private JButton block45 = new JButton();
private JButton block46 = new JButton();
private JButton block47 = new JButton();
private JButton block48 = new JButton();
private JButton block49 = new JButton();
// Error console init
private JLabel errorMessage = new JLabel();
private JPanel errorBg = new JPanel();
private JButton closeError = new JButton();
// Score/UI Inits
private JButton resetBoard = new JButton("Reset Board");
/**
* 700 x 480 Frame Size
* Sets Up and displays initial scene.
*
*/
private void game() {
// Initialize mainFrame
JFrame mainFrame = new JFrame(gameVersion);
Dimension minSize = new Dimension(700,480);
mainFrame.setMinimumSize(minSize);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setLayout(null);
mainFrame.setResizable(false);
try {
mainFrame.setContentPane(new JLabel(new ImageIcon(
ImageIO.read(new File("bggrad.jpg")))));
} catch (IOException e) {
e.printStackTrace();
}
// Setup Block Images
try {
purpleBlock.setImage(ImageIO.read(new File("purpleBlock.png")));
redBlock.setImage(ImageIO.read(new File("redBlock.png")));
blueBlock.setImage(ImageIO.read(new File("blueBlock.png")));
greenBlock.setImage(ImageIO.read(new File("greenBlock.png")));
closeImage.setImage(ImageIO.read(new File("close.jpg")));
} catch (IOException e) {
e.printStackTrace();
}
// Sets up error message panel
// Only displayed if error occurs on ActionListener
errorMessage.setText("");
errorMessage.setForeground(Color.black);
Font newLabelFont = new Font(errorMessage.getFont().getName(),
Font.BOLD,errorMessage.getFont().getSize());
errorMessage.setFont(newLabelFont);
closeError.setIcon(closeImage);
closeError.setBounds(0,0,24,24);
errorBg.setBounds(0,430,700,30);
errorBg.setBackground(Color.lightGray);
errorBg.add(closeError);
errorBg.add(errorMessage);
errorBg.setVisible(false);
// Sets up Score/UI Portions of Screen
resetBoard.setBounds(60,363,175,25);
resetBoard.setVisible(true);
resetBoard.addActionListener(this);
// Randomize and add Images to each JButton
gameReset();
// Add Listeners to each block
block1.addActionListener(this);
block2.addActionListener(this);
block3.addActionListener(this);
block4.addActionListener(this);
block5.addActionListener(this);
block6.addActionListener(this);
block7.addActionListener(this);
block8.addActionListener(this);
block9.addActionListener(this);
block10.addActionListener(this);
block11.addActionListener(this);
block12.addActionListener(this);
block13.addActionListener(this);
block14.addActionListener(this);
block15.addActionListener(this);
block16.addActionListener(this);
block17.addActionListener(this);
block18.addActionListener(this);
block19.addActionListener(this);
block20.addActionListener(this);
block21.addActionListener(this);
block22.addActionListener(this);
block23.addActionListener(this);
block24.addActionListener(this);
block25.addActionListener(this);
block26.addActionListener(this);
block27.addActionListener(this);
block28.addActionListener(this);
block29.addActionListener(this);
block30.addActionListener(this);
block31.addActionListener(this);
block32.addActionListener(this);
block33.addActionListener(this);
block34.addActionListener(this);
block35.addActionListener(this);
block36.addActionListener(this);
block37.addActionListener(this);
block38.addActionListener(this);
block39.addActionListener(this);
block40.addActionListener(this);
block41.addActionListener(this);
block42.addActionListener(this);
block43.addActionListener(this);
block44.addActionListener(this);
block45.addActionListener(this);
block46.addActionListener(this);
block47.addActionListener(this);
block48.addActionListener(this);
block49.addActionListener(this);
// Set Block Locations
block1.setBounds(300,50,50,50);
block2.setBounds(350,50,50,50);
block3.setBounds(400,50,50,50);
block4.setBounds(450,50,50,50);
block5.setBounds(500,50,50,50);
block6.setBounds(550,50,50,50);
block7.setBounds(600,50,50,50);
block8.setBounds(300,100,50,50);
block9.setBounds(350,100,50,50);
block10.setBounds(400,100,50,50);
block11.setBounds(450,100,50,50);
block12.setBounds(500,100,50,50);
block13.setBounds(550,100,50,50);
block14.setBounds(600,100,50,50);
block15.setBounds(300,150,50,50);
block16.setBounds(350,150,50,50);
block17.setBounds(400,150,50,50);
block18.setBounds(450,150,50,50);
block19.setBounds(500,150,50,50);
block20.setBounds(550,150,50,50);
block21.setBounds(600,150,50,50);
block22.setBounds(300,200,50,50);
block23.setBounds(350,200,50,50);
block24.setBounds(400,200,50,50);
block25.setBounds(450,200,50,50);
block26.setBounds(500,200,50,50);
block27.setBounds(550,200,50,50);
block28.setBounds(600,200,50,50);
block29.setBounds(300,250,50,50);
block30.setBounds(350,250,50,50);
block31.setBounds(400,250,50,50);
block32.setBounds(450,250,50,50);
block33.setBounds(500,250,50,50);
block34.setBounds(550,250,50,50);
block35.setBounds(600,250,50,50);
block36.setBounds(300,300,50,50);
block37.setBounds(350,300,50,50);
block38.setBounds(400,300,50,50);
block39.setBounds(450,300,50,50);
block40.setBounds(500,300,50,50);
block41.setBounds(550,300,50,50);
block42.setBounds(600,300,50,50);
block43.setBounds(300,350,50,50);
block44.setBounds(350,350,50,50);
block45.setBounds(400,350,50,50);
block46.setBounds(450,350,50,50);
block47.setBounds(500,350,50,50);
block48.setBounds(550,350,50,50);
block49.setBounds(600,350,50,50);
// Add blocks to frame
mainFrame.getContentPane().add(block1);
mainFrame.getContentPane().add(block2);
mainFrame.getContentPane().add(block3);
mainFrame.getContentPane().add(block4);
mainFrame.getContentPane().add(block5);
mainFrame.getContentPane().add(block6);
mainFrame.getContentPane().add(block7);
mainFrame.getContentPane().add(block8);
mainFrame.getContentPane().add(block9);
mainFrame.getContentPane().add(block10);
mainFrame.getContentPane().add(block11);
mainFrame.getContentPane().add(block12);
mainFrame.getContentPane().add(block13);
mainFrame.getContentPane().add(block14);
mainFrame.getContentPane().add(block15);
mainFrame.getContentPane().add(block16);
mainFrame.getContentPane().add(block17);
mainFrame.getContentPane().add(block18);
mainFrame.getContentPane().add(block19);
mainFrame.getContentPane().add(block20);
mainFrame.getContentPane().add(block21);
mainFrame.getContentPane().add(block22);
mainFrame.getContentPane().add(block23);
mainFrame.getContentPane().add(block24);
mainFrame.getContentPane().add(block25);
mainFrame.getContentPane().add(block26);
mainFrame.getContentPane().add(block27);
mainFrame.getContentPane().add(block28);
mainFrame.getContentPane().add(block29);
mainFrame.getContentPane().add(block30);
mainFrame.getContentPane().add(block31);
mainFrame.getContentPane().add(block32);
mainFrame.getContentPane().add(block33);
mainFrame.getContentPane().add(block34);
mainFrame.getContentPane().add(block35);
mainFrame.getContentPane().add(block36);
mainFrame.getContentPane().add(block37);
mainFrame.getContentPane().add(block38);
mainFrame.getContentPane().add(block39);
mainFrame.getContentPane().add(block40);
mainFrame.getContentPane().add(block41);
mainFrame.getContentPane().add(block42);
mainFrame.getContentPane().add(block43);
mainFrame.getContentPane().add(block44);
mainFrame.getContentPane().add(block45);
mainFrame.getContentPane().add(block46);
mainFrame.getContentPane().add(block47);
mainFrame.getContentPane().add(block48);
mainFrame.getContentPane().add(block49);
mainFrame.getContentPane().add(errorBg);
mainFrame.getContentPane().add(resetBoard);
//mainFrame.pack();
mainFrame.setVisible(true);
}
/**
* Checks onClick event for which JButton was clicked
* and changes JButton.setIcon() accordingly.
*
* @param none
* @return none
* @see java.awt.event.*
* @see JButton
* @see setIcon()
* @see getIcon()
*
*/
public void actionPerformed(ActionEvent e) {
if(e.getSource()==resetBoard) {
System.out.println("Resetting");
gameReset();
}
if(e.getSource()==errorBg || e.getSource()==errorMessage) {
errorBg.setVisible(false);
}
if(e.getSource()==block1) {
if(block1.getIcon()==purpleBlock) {
block1.setIcon(blueBlock);
block2.setIcon(redBlock);
block8.setIcon(redBlock);
} else if(block1.getIcon()==blueBlock) {
block1.setIcon(redBlock);
block2.setIcon(greenBlock);
block8.setIcon(greenBlock);
} else if(block1.getIcon()==redBlock) {
block1.setIcon(greenBlock);
block2.setIcon(blueBlock);
block8.setIcon(blueBlock);
} else if(block1.getIcon()==greenBlock) {
block1.setIcon(blueBlock);
block2.setIcon(redBlock);
block8.setIcon(redBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
if(e.getSource()==block2) {
if(block2.getIcon()==purpleBlock) {
block2.setIcon(blueBlock);
block1.setIcon(redBlock);
block3.setIcon(redBlock);
block9.setIcon(redBlock);
} else if(block2.getIcon()==blueBlock) {
block2.setIcon(redBlock);
block1.setIcon(greenBlock);
block3.setIcon(greenBlock);
block9.setIcon(greenBlock);
} else if(block2.getIcon()==redBlock) {
block2.setIcon(greenBlock);
block1.setIcon(blueBlock);
block3.setIcon(blueBlock);
block9.setIcon(blueBlock);
} else if(block2.getIcon()==greenBlock) {
block2.setIcon(blueBlock);
block1.setIcon(redBlock);
block3.setIcon(redBlock);
block9.setIcon(redBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
if(e.getSource()==block3) {
if(block3.getIcon()==purpleBlock) {
block3.setIcon(blueBlock);
block2.setIcon(redBlock);
block4.setIcon(redBlock);
block10.setIcon(redBlock);
} else if(block3.getIcon()==blueBlock) {
block3.setIcon(redBlock);
block2.setIcon(greenBlock);
block4.setIcon(greenBlock);
block10.setIcon(greenBlock);
} else if(block3.getIcon()==redBlock) {
block3.setIcon(greenBlock);
block2.setIcon(blueBlock);
block4.setIcon(blueBlock);
block10.setIcon(blueBlock);
} else if(block3.getIcon()==greenBlock) {
block3.setIcon(blueBlock);
block2.setIcon(redBlock);
block4.setIcon(redBlock);
block10.setIcon(redBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
if(e.getSource()==block4) {
if(block4.getIcon()==purpleBlock) {
block4.setIcon(blueBlock);
block3.setIcon(redBlock);
block5.setIcon(redBlock);
block11.setIcon(redBlock);
} else if(block4.getIcon()==blueBlock) {
block4.setIcon(redBlock);
block3.setIcon(greenBlock);
block5.setIcon(greenBlock);
block11.setIcon(greenBlock);
} else if(block4.getIcon()==redBlock) {
block4.setIcon(greenBlock);
block3.setIcon(blueBlock);
block5.setIcon(blueBlock);
block11.setIcon(blueBlock);
} else if(block4.getIcon()==greenBlock) {
block4.setIcon(blueBlock);
block3.setIcon(redBlock);
block5.setIcon(redBlock);
block11.setIcon(redBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
if(e.getSource()==block5) {
if(block5.getIcon()==purpleBlock) {
block5.setIcon(blueBlock);
block4.setIcon(redBlock);
block6.setIcon(redBlock);
block12.setIcon(redBlock);
} else if(block5.getIcon()==blueBlock) {
block5.setIcon(redBlock);
block4.setIcon(greenBlock);
block6.setIcon(greenBlock);
block12.setIcon(greenBlock);
} else if(block5.getIcon()==redBlock) {
block5.setIcon(greenBlock);
block4.setIcon(blueBlock);
block6.setIcon(blueBlock);
block12.setIcon(blueBlock);
} else if(block5.getIcon()==greenBlock) {
block5.setIcon(blueBlock);
block4.setIcon(redBlock);
block6.setIcon(redBlock);
block12.setIcon(redBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
if(e.getSource()==block5) {
if(block5.getIcon()==purpleBlock) {
block5.setIcon(blueBlock);
block4.setIcon(redBlock);
block6.setIcon(redBlock);
block12.setIcon(redBlock);
} else if(block5.getIcon()==blueBlock) {
block5.setIcon(redBlock);
block4.setIcon(greenBlock);
block6.setIcon(greenBlock);
block12.setIcon(greenBlock);
} else if(block5.getIcon()==redBlock) {
block5.setIcon(greenBlock);
block4.setIcon(blueBlock);
block6.setIcon(blueBlock);
block12.setIcon(blueBlock);
} else if(block5.getIcon()==greenBlock) {
block5.setIcon(blueBlock);
block4.setIcon(redBlock);
block6.setIcon(redBlock);
block12.setIcon(redBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
if(e.getSource()==block6) {
if(block6.getIcon()==purpleBlock) {
block6.setIcon(blueBlock);
block5.setIcon(redBlock);
block7.setIcon(redBlock);
block13.setIcon(redBlock);
} else if(block6.getIcon()==blueBlock) {
block6.setIcon(redBlock);
block5.setIcon(greenBlock);
block7.setIcon(greenBlock);
block13.setIcon(greenBlock);
} else if(block6.getIcon()==redBlock) {
block6.setIcon(greenBlock);
block5.setIcon(blueBlock);
block7.setIcon(blueBlock);
block13.setIcon(blueBlock);
} else if(block6.getIcon()==greenBlock) {
block6.setIcon(blueBlock);
block5.setIcon(redBlock);
block7.setIcon(redBlock);
block13.setIcon(redBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
if(e.getSource()==block7) {
if(block7.getIcon()==purpleBlock) {
block7.setIcon(blueBlock);
block6.setIcon(redBlock);
block14.setIcon(redBlock);
//block13.setIcon(redBlock);
} else if(block7.getIcon()==blueBlock) {
block7.setIcon(redBlock);
block6.setIcon(greenBlock);
block14.setIcon(greenBlock);
//block13.setIcon(greenBlock);
} else if(block7.getIcon()==redBlock) {
block7.setIcon(greenBlock);
block6.setIcon(purpleBlock);
block14.setIcon(purpleBlock);
//block13.setIcon(blueBlock);
} else if(block7.getIcon()==greenBlock) {
block7.setIcon(purpleBlock);
block6.setIcon(blueBlock);
block14.setIcon(blueBlock);
//block13.setIcon(redBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
if(e.getSource()==block8) {
if(block8.getIcon()==purpleBlock) {
block8.setIcon(blueBlock);
block1.setIcon(redBlock);
block9.setIcon(redBlock);
block15.setIcon(redBlock);
} else if(block8.getIcon()==blueBlock) {
block8.setIcon(redBlock);
block1.setIcon(greenBlock);
block9.setIcon(greenBlock);
block15.setIcon(greenBlock);
} else if(block8.getIcon()==redBlock) {
block8.setIcon(greenBlock);
block1.setIcon(purpleBlock);
block9.setIcon(purpleBlock);
block15.setIcon(purpleBlock);
} else if(block8.getIcon()==greenBlock) {
block8.setIcon(purpleBlock);
block1.setIcon(blueBlock);
block9.setIcon(blueBlock);
block15.setIcon(blueBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
if(e.getSource()==block9) {
if(block9.getIcon()==purpleBlock) {
block9.setIcon(blueBlock);
block2.setIcon(redBlock);
block10.setIcon(redBlock);
block8.setIcon(redBlock);
block16.setIcon(redBlock);
} else if(block9.getIcon()==blueBlock) {
block9.setIcon(redBlock);
block2.setIcon(greenBlock);
block10.setIcon(greenBlock);
block8.setIcon(greenBlock);
block16.setIcon(greenBlock);
} else if(block9.getIcon()==redBlock) {
block9.setIcon(greenBlock);
block2.setIcon(purpleBlock);
block10.setIcon(purpleBlock);
block8.setIcon(purpleBlock);
block16.setIcon(purpleBlock);
} else if(block9.getIcon()==greenBlock) {
block9.setIcon(purpleBlock);
block2.setIcon(blueBlock);
block10.setIcon(blueBlock);
block8.setIcon(blueBlock);
block16.setIcon(blueBlock);
} else {
// Woops! Something went wrong!
errorBg.setVisible(true);
errorMessage.setText("Woops! Something went wrong! @" + e.getSource());
}
}
}
public void gameReset() {
// Add Tiles to mainFrame
block1.setIcon(randomizer());
block2.setIcon(randomizer());
block3.setIcon(randomizer());
block4.setIcon(randomizer());
block5.setIcon(randomizer());
block6.setIcon(randomizer());
block7.setIcon(randomizer());
block8.setIcon(randomizer());
block9.setIcon(randomizer());
block10.setIcon(randomizer());
block11.setIcon(randomizer());
block12.setIcon(randomizer());
block13.setIcon(randomizer());
block14.setIcon(randomizer());
block15.setIcon(randomizer());
block16.setIcon(randomizer());
block17.setIcon(randomizer());
block18.setIcon(randomizer());
block19.setIcon(randomizer());
block20.setIcon(randomizer());
block21.setIcon(randomizer());
block22.setIcon(randomizer());
block23.setIcon(randomizer());
block24.setIcon(randomizer());
block25.setIcon(randomizer());
block26.setIcon(randomizer());
block27.setIcon(randomizer());
block28.setIcon(randomizer());
block29.setIcon(randomizer());
block30.setIcon(randomizer());
block31.setIcon(randomizer());
block32.setIcon(randomizer());
block33.setIcon(randomizer());
block34.setIcon(randomizer());
block35.setIcon(randomizer());
block36.setIcon(randomizer());
block37.setIcon(randomizer());
block38.setIcon(randomizer());
block39.setIcon(randomizer());
block40.setIcon(randomizer());
block41.setIcon(randomizer());
block42.setIcon(randomizer());
block43.setIcon(randomizer());
block44.setIcon(randomizer());
block45.setIcon(randomizer());
block46.setIcon(randomizer());
block47.setIcon(randomizer());
block48.setIcon(randomizer());
block49.setIcon(randomizer());
}
public ImageIcon randomizer() {
Random r = new Random();
int rNum = r.nextInt(4);
if(rNum==0) {
return purpleBlock;
} else if(rNum==1) {
return redBlock;
} else if(rNum==2) {
return greenBlock;
} else {
return blueBlock;
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Blox().game();
}
});
}
}
最佳答案
不要将 MouseListener 与 JButton 一起使用,而应使用 ActionListeners。 button tutorial 中详细说明了这一点,我强烈建议您尽快阅读它们。
我发现您的代码存在一个主要问题:
public ImageIcon randomizer() {
try {
purpleBlock.setImage(ImageIO.read(new File("purpleBlock.png")));
redBlock.setImage(ImageIO.read(new File("redBlock.png")));
blueBlock.setImage(ImageIO.read(new File("blueBlock.png")));
greenBlock.setImage(ImageIO.read(new File("greenBlock.png")));
} catch (IOException e) {
e.printStackTrace();
}
Random r = new Random();
int rNum = r.nextInt(4);
if(rNum==0) {
return purpleBlock;
} else if(rNum==1) {
return redBlock;
} else if(rNum==2) {
return greenBlock;
} else {
return blueBlock;
}
}
每当调用 randomizer()
方法时,您都会从文件中重新读取所有色 block 图像。没有必要这样做,因为已经使用正确的图像创建了 ImageIcons,但不仅如此,这可能会痛苦地减慢您的程序。
关于java - 鼠标 ActionListener 和鼠标点击 (MouseEvent e),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15016580/
我正在尝试为我的网站创建一个功能,允许用户使用 mousemove 和 touchmove 事件水平滚动 div 内容(类似于 Apple AppStore any app Screenshots s
我有固定的侧边栏导航栏,它在悬停时工作,但我想通过单击折叠按钮打开第一个菜单。类似于悬停在菜单 1 上的工作方式。我已经尝试了以下方法。 jsfiddle Demo $(document).on('c
Mouse.Synchronize() 在 .Net 中有什么作用? MSDN 说它“强制鼠标重新同步” 最佳答案 只是我的假设: Stylus 中存在类似的方法类别:Stylus.Synchroni
有没有什么办法可以同时使用鼠标, pygame.mouse.set_visible(False) 已激活。当前鼠标仅在尝试使用时返回右下坐标。需要在隐藏鼠标时能够获得正确的坐标。 在他们的 docum
我有一个缺少数据的数据库。我需要估算数据(我使用的是鼠标),然后根据原始列创建新列(使用估算数据)。我需要使用这些新列进行统计分析。 具体来说,我的参与者使用李克特 7 分量表填写了几份问卷。有些人没
我正在编写一个与电脑交互的机器人。简而言之,我所做的是: -截取屏幕截图- 在此屏幕截图上识别对象(使用 cv2 matchTemplate) -使用找到的位置进行一些鼠标操作(例如:将鼠标指针移动到
我的程序是一个文本游戏,它使用 WindowsForm 上的文本框模拟控制台输出。我试图实现的一个功能是通过单击一个按钮,它将以一定的速度输出到 TextBox,这是通过这种方法实现的 atm: pu
我遇到了一个问题。如果有任何帮助,我将不胜感激。 我正在尝试从玩家位置射击到鼠标点击位置。代码没有给我任何错误,根据我的逻辑,它应该可以工作,但它没有 它创建了项目符号对象,仅此而已。 //Bulle
给定一个带蓝牙的 Windows Mobile 6.1 智能手机,我想将它注册为鼠标。 基本上我现在做的: 使用 Guid {00001124-0000-1000-8000-00805f9b34fb}
我有一个关于在 JavaFX 中实现鼠标拖动事件的正确方法的问题。 我的 playGame() 方法当前使用 onMouseClicked,但这只是一个占位符 理想情况下,我希望“飞盘”沿着鼠标拖动的
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我目前正在使用 Windows 的 RawInput API 来访问键盘和鼠标输入。我有点困惑的一件事是,当我将鼠标注册为 RawInputDevice 时,我无法移动我的 Win32 窗口或使用那里
我想在我的网站浏览器窗口中 move 鼠标,如下所示:www.lmsify.com。我怎样才能做到这一点?(javascript、flash、activex) 问候,丽莎M 最佳答案 他们并没有真正
我想要一个动画。我是后端开发人员,但我必须使用 jquery 创建动画。 动画、背景和元素位置随鼠标移动而变化。 类似于http://www.kennedyandoswald.com/#!/premi
如何将鼠标“锁定”到某个 OpenGL 窗口。有点像在 Minecraft 中是如何完成的。GameDev 是一个更好的询问地点吗? 最佳答案 正如 Robert 在评论中所说,OpenGL 实际上并
我正在尝试实现一个颜色选择器,它从屏幕上各处的像素中获取颜色。为此,我计划使用全局鼠标 Hook 来监听 WM_MOUSEMOVE,以便在鼠标四处移动时更新颜色,并监听鼠标点击以确认 (WM_LBUT
如何使用 Java 和 JNA(Java native 访问)与 Windows API 交互?。我试图通过在鼠标输入流上排队鼠标事件来让鼠标做某事,并且代码有效,因为 SendInput(...)
我想用 C++ 脚本 move 鼠标光标。我在 Parallels 中的 Windows 7 中使用 Visual C++ 2010 Express,并创建了一个控制台应用程序。 我知道 SetCur
我有一些关于 WH_MOUSE 的问题。根据我的阅读,通过将钩子(Hook)放入 DLL 中,它会注入(inject)进程。这是否意味着捕获鼠标也适用于我的桌面、菜单启动等?那么应用程序的标题栏呢?我
如何为多只鼠标显示另一个光标? 我有两个 TMemos,两个可以输入各自 TMemo 的键盘,2 个鼠标,我需要 2 个光标。 如果假设的话,我已经可以检测出哪只鼠标是哪只了。我怎样才能让我自己的光标
我是一名优秀的程序员,十分优秀!