【发布时间】:2011-09-03 23:21:52
【问题描述】:
正如标题所示,我正在尝试将动作侦听器添加到窗口的基本形状中。我想知道这是否可能?尝试添加侦听器时出现错误。
public static void main(String args[]) {
JFrame frame = new Main();
frame.setSize(300, 200);
frame.setVisible(true);
frame.setBackground(Color.BLUE);
}
Rectangle2D rect = new Rectangle2D.Double(60, 70, 120, 80);
public void paint(Graphics g) {
Graphics2D g1 = (Graphics2D)g;
g1.draw(rect);
g1.setPaint(Color.yellow);
g1.fill(rect);
}
Handlerclass handle = new Handlerclass();
rect.addMouseListener(handle);
public class Handlerclass implements MouseListener{
public void mouseClicked (MouseEvent e){
}
}
【问题讨论】:
-
不要在 JFrame 的paint 方法中直接绘制。而是绘制由 JFrame 的 contentPane 或 JFrame 的 contentPane 持有的 JPanel,并在其 paintComponent 方法中进行绘制。
标签: java swing listener mouselistener