1、要有程序入口函数mainimport java.awt.event.*;
import javax.swing.*;
import java.awt.*;public class MouseTest extends JFrame {
JLabel whichButton = new JLabel("Click a mouse button"); public MouseTest() {
super("Mouse Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanel pane = new MyPanel();
setContentPane(pane);
pack();
setVisible(true);
}
public static void main(String arg[]){
MouseTest m=new MouseTest();
}
}2、
这个问题主要是2个:
(1)whichButton用于监听事件,不是panel
(2)myPanel本身是个Panel,不需要在建立一个Panel对象了
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;public class MyPanel extends JPanel implements MouseListener {
JLabel whichButton; public MyPanel() {
whichButton = new JLabel("Click a mouse button");
//JPanel pane = new JPanel();
setSize(400, 325);
whichButton.addMouseListener(this);
add(whichButton);
} public void mouseClicked(MouseEvent evt){
int button=evt.getModifiers(); switch(button) {
case MouseEvent.BUTTON1_MASK:
whichButton.setText("Left Button");
break;
case MouseEvent.BUTTON2_MASK:
whichButton.setText("Middle Button");
break;
case MouseEvent.BUTTON3_MASK:
whichButton.setText("Right Button");
}
} public void mousePressed(MouseEvent evt) {
// do nothing
} public void mouseReleased(MouseEvent evt) {
// do nothing
} public void mouseEntered(MouseEvent evt) {
// do nothing
} public void mouseExited(MouseEvent evt) {
// do nothing
}
}
import javax.swing.*;
import java.awt.*;public class MouseTest extends JFrame {
JLabel whichButton = new JLabel("Click a mouse button"); public MouseTest() {
super("Mouse Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanel pane = new MyPanel();
setContentPane(pane);
pack();
setVisible(true);
}
public static void main(String arg[]){
MouseTest m=new MouseTest();
}
}2、
这个问题主要是2个:
(1)whichButton用于监听事件,不是panel
(2)myPanel本身是个Panel,不需要在建立一个Panel对象了
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;public class MyPanel extends JPanel implements MouseListener {
JLabel whichButton; public MyPanel() {
whichButton = new JLabel("Click a mouse button");
//JPanel pane = new JPanel();
setSize(400, 325);
whichButton.addMouseListener(this);
add(whichButton);
} public void mouseClicked(MouseEvent evt){
int button=evt.getModifiers(); switch(button) {
case MouseEvent.BUTTON1_MASK:
whichButton.setText("Left Button");
break;
case MouseEvent.BUTTON2_MASK:
whichButton.setText("Middle Button");
break;
case MouseEvent.BUTTON3_MASK:
whichButton.setText("Right Button");
}
} public void mousePressed(MouseEvent evt) {
// do nothing
} public void mouseReleased(MouseEvent evt) {
// do nothing
} public void mouseEntered(MouseEvent evt) {
// do nothing
} public void mouseExited(MouseEvent evt) {
// do nothing
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货