【发布时间】:2013-08-01 03:14:07
【问题描述】:
我想在单击其中一个 buffereImage 时发出声音。但它向我显示了这个错误: BufferedImage 类型的方法 addMouseListener(new MouseAdapter(){}) 是未定义的
代码如下:
public class TestPane extends JPanel {
public TestPane() {
setLayout(new PropertionalLayoutManager(400, 400));
add(new Symbol(), new PropertionalConstraint(0f, 0));
add(new Symbol(), new PropertionalConstraint(0.67f, 0));
//add(new Symbol(), new PropertionalConstraint(0f, 0.4675f));
//add(new Symbol(), new PropertionalConstraint(0.67f, 0.4675f));
add(new Drum(), new PropertionalConstraint(0.205f, 0.1f));
add(new Drum(), new PropertionalConstraint(0.5f, 0.1f));
add(new Drum(), new PropertionalConstraint(0f, 0.33f));
add(new Drum(), new PropertionalConstraint(0.705f, 0.33f));
DRUM.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent me)
{
Sound1.Sound5.play();
}
});
}static {
try {
SYMBOL = ImageIO.read(new File("HiCrash.png"));
} catch (IOException ex) {
ex.printStackTrace();
}
try {
DRUM = ImageIO.read(new File("HiTom.png"));
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
【问题讨论】:
-
MouseListener只能添加到可以在屏幕上显示的组件中。默认情况下,BufferedImage不能在屏幕上显示,除非先被某些组件包裹(例如JLabel或绘制到JPanel的表面上)。 -
那么如何将 bufferedImage 插入 JPanel?
-
看看我的回答 ;)
-
我要问:什么是属性?
-
@roippi 这是我前段时间为 jat 编写的自定义布局管理器,它尝试根据初始大小和
PropertionalConstraint(和首选大小)调整组件的大小。如果您真的很好奇,请查看stackoverflow.com/questions/17847816/…
标签: java eclipse swing bufferedimage mouse-listeners