import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class mouseDemo implements MouseListener{
JFrame frame=new JFrame("获取鼠标");
JLabel label1,label2; public mouseDemo(){
Container con=frame.getContentPane();
con.setLayout(new BorderLayout(0,1));
con.add(label1,BorderLayout.NORTH);
con.add(label2,BorderLayout.SOUTH);
con.addMouseListener(this);
frame.setBounds(300,300,400,400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public void mouseClicked(MouseEvent e){
label2.setText("鼠标当前坐标( "+e.getX()+","+e.getY());
}
public void mouseEntered(MouseEvent e){
label1.setText(e.getX()+","+e.getY());
label2.setText("鼠标进入( "+e.getX()+","+e.getY());
}
public void mouseExited(MouseEvent e){
label1.setText("");
label2.setText("鼠标离开");
}
public void mousePressed(MouseEvent e){
label2.setText("鼠标在:( "+e.getX()+","+e.getY()+" )按下");
}
public void mouseReleased(MouseEvent e){
label2.setText("鼠标在( "+e.getX()+","+e.getY()+" )松开");
}
public static void main(String arg[]){
new mouseDemo();
}
}
import java.awt.event.*;
import javax.swing.*;
public class mouseDemo implements MouseListener{
JFrame frame=new JFrame("获取鼠标");
JLabel label1,label2; public mouseDemo(){
Container con=frame.getContentPane();
con.setLayout(new BorderLayout(0,1));
con.add(label1,BorderLayout.NORTH);
con.add(label2,BorderLayout.SOUTH);
con.addMouseListener(this);
frame.setBounds(300,300,400,400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public void mouseClicked(MouseEvent e){
label2.setText("鼠标当前坐标( "+e.getX()+","+e.getY());
}
public void mouseEntered(MouseEvent e){
label1.setText(e.getX()+","+e.getY());
label2.setText("鼠标进入( "+e.getX()+","+e.getY());
}
public void mouseExited(MouseEvent e){
label1.setText("");
label2.setText("鼠标离开");
}
public void mousePressed(MouseEvent e){
label2.setText("鼠标在:( "+e.getX()+","+e.getY()+" )按下");
}
public void mouseReleased(MouseEvent e){
label2.setText("鼠标在( "+e.getX()+","+e.getY()+" )松开");
}
public static void main(String arg[]){
new mouseDemo();
}
}
用面板对象接收且记得转型!而且全放在构造里面也不合适,还是做个普通方法。
//下面前置声明你的控件(PS:搭积木了,先把积木摆出来吧。)
JLabel label1,label2;
JFrame frame;
//下面是你的构造;
public mouseDemo(){
//构造里面就做一件事情,调用你的搭积木方法。
try{
搭积木方法名();
}catch(Exception ex){
ex.printStackTrace();
}
}
//搭积木方法
public void 搭积木方法名()throws Exception{
//在这里面写你的逻辑,实例化、布局等等
}class mouse....//内部类该怎么写还怎么写
label1=new JLabel();
label2=new JLabel();
就可以搞定了
import java.awt.*;
import java.awt.event.*;
import javax.swing.*; public class keyDemo implements KeyListener{
JFrame frame=new JFrame("移动按钮");
JButton button;
JButton b=new JButton();
int x,y,x1,y1;
Container con=frame.getContentPane();
public keyDemo(){
con.setLayout(null);
button=new JButton(" ");
button.setBackground(Color.red);
button.setBounds(20,30,100,150);
b.setBounds(5,5,x1,y1);
con.add(button);
frame.addKeyListener(this);
frame.setBounds(300,300,500,600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
} public void keyPressed(KeyEvent e){
x=100;
y=150;
if(e.getKeyCode()==KeyEvent.VK_UP){
y+=2;
button.setBounds(20,30,x,y);
button.setText("上");
}
else
if(e.getKeyCode()==KeyEvent.VK_DOWN){
x-=2;
button.setBounds(20,30,x,y);
button.setText("下");
} else
if(e.getKeyCode()==KeyEvent.VK_LEFT){
y-=2;
button.setBounds(20,30,x,y);
button.setText("左");
} else
if(e.getKeyCode()==KeyEvent.VK_RIGHT){
y+=2;
button.setBounds(20,30,x,y);
button.setText("右");
}
}
public void keyTyped(KeyEvent e2){
x1=button.getX();
y1=button.getY();
if(e2.getKeyCode()==x){
x1+=5;
con.add( b );
}
}
public void keyReleased(KeyEvent e3){} public static void main(String arg[]){
new keyDemo();
}
}构造函数中增加一个语句 frame.setVisible(true); con.add(new JButton().setBounds(5,5,x1,y1));
修改为
con.add(b);
JButton b=new JButton();
b.setBounds(5,5,x1,y1);
new JButton().setBounds(5,5,x1,y1)返回为void类型,con.add( void类型)错误
public void setBounds(....)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class mouseDemo implements MouseListener{
JFrame frame=new JFrame("获取鼠标");
JLabel label1=new JLabel(),label2=new JLabel();
public mouseDemo(){
Container con=frame.getContentPane();
con.setLayout(new BorderLayout(0,1));
con.add(label1,BorderLayout.NORTH);
con.add(label2,BorderLayout.SOUTH);
con.addMouseListener(this);
frame.setBounds(300,300,400,400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void mouseClicked(MouseEvent e){
label2.setText("鼠标当前坐标( "+e.getX()+","+e.getY());
}
public void mouseEntered(MouseEvent e){
label1.setText(e.getX()+","+e.getY());
label2.setText("鼠标进入( "+e.getX()+","+e.getY());
}
public void mouseExited(MouseEvent e){
label1.setText("");
label2.setText("鼠标离开");
}
public void mousePressed(MouseEvent e){
label2.setText("鼠标在:( "+e.getX()+","+e.getY()+" )按下");
}
public void mouseReleased(MouseEvent e){
label2.setText("鼠标在( "+e.getX()+","+e.getY()+" )松开");
}
public static void main(String arg[]){
new mouseDemo();
}
}
JFrame frame=new JFrame("获取鼠标");
JLabel label1,label2;
没有初始化?(貌似不是基本类型)