主题:一个获得鼠标位置的程序
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
class drawPanel extends JPanel{ //这是一个画板,里面有一个五角星
public void paint(Graphics g){
Graphics2D g2=(Graphics2D)g;
int x1[]={190,218,150,230,162};
int y1[]={20,100,46,46,100};
JButton n2=new JButton("111");
g2.setPaint(Color.red);
g2.setBackground(Color.cyan);
GeneralPath polygon2=new GeneralPath(0,x1.length);
polygon2.moveTo(x1[0],y1[0]);
for(int index=1;index<x1.length;index++)
{polygon2.lineTo(x1[index],y1[index]);}
g2.fill(polygon2);
}
}
class draw extends JPanel{ //这是我希望显示坐标的地方
public void draw(){
int x,y;
JPanel pa2=new JPanel();
JLabel lb1=new JLabel("x:");
JLabel lb2=new JLabel("y:");
JLabel lb3=new JLabel(" ");
JTextField tf1=new JTextField(5); //在这里显示X
JTextField tf2=new JTextField(5); //在这里显示Y
JTextField tf3=new JTextField(5);
pa2.add(lb1);
pa2.add(tf1);
pa2.add(lb2);
pa2.add(tf2);
pa2.add(lb3);
}
}
public class n102112 {
public n102112(){
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame f1=new JFrame("....");
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
drawPanel pa=new drawPanel();
draw pa3=new draw();
pa.setPreferredSize(new Dimension(350,100));
Container cp1=f1.getContentPane();
pa.setBackground(Color.cyan);
cp1.add(pa,BorderLayout.CENTER);
cp1.add(pa3,BorderLayout.SOUTH);
// pa3.addMouseMotionListener(this);
f1.pack();
f1.setVisible(true);
}
/*public void mouseMoved(MouseEvent e){
x=e.getX();
y=e.getY();
tf1.setText(String.valueOf(x));
tf2.setText(String.valueOf(y));
}*/
public static void main(String[] args)
{new n102112();}
}
这是我最近编的一个小程序,希望获鼠标在第一个画板内移动时,第二个容器内的文本区能够显示相应的坐标值.
但,现在这个程序 根本不能显示第二个容器,更别说用那个鼠标移动事件了.
请各位有能力的帮帮忙!!!
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
class drawPanel extends JPanel{ //这是一个画板,里面有一个五角星
public void paint(Graphics g){
Graphics2D g2=(Graphics2D)g;
int x1[]={190,218,150,230,162};
int y1[]={20,100,46,46,100};
JButton n2=new JButton("111");
g2.setPaint(Color.red);
g2.setBackground(Color.cyan);
GeneralPath polygon2=new GeneralPath(0,x1.length);
polygon2.moveTo(x1[0],y1[0]);
for(int index=1;index<x1.length;index++)
{polygon2.lineTo(x1[index],y1[index]);}
g2.fill(polygon2);
}
}
class draw extends JPanel{ //这是我希望显示坐标的地方
public void draw(){
int x,y;
JPanel pa2=new JPanel();
JLabel lb1=new JLabel("x:");
JLabel lb2=new JLabel("y:");
JLabel lb3=new JLabel(" ");
JTextField tf1=new JTextField(5); //在这里显示X
JTextField tf2=new JTextField(5); //在这里显示Y
JTextField tf3=new JTextField(5);
pa2.add(lb1);
pa2.add(tf1);
pa2.add(lb2);
pa2.add(tf2);
pa2.add(lb3);
}
}
public class n102112 {
public n102112(){
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame f1=new JFrame("....");
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
drawPanel pa=new drawPanel();
draw pa3=new draw();
pa.setPreferredSize(new Dimension(350,100));
Container cp1=f1.getContentPane();
pa.setBackground(Color.cyan);
cp1.add(pa,BorderLayout.CENTER);
cp1.add(pa3,BorderLayout.SOUTH);
// pa3.addMouseMotionListener(this);
f1.pack();
f1.setVisible(true);
}
/*public void mouseMoved(MouseEvent e){
x=e.getX();
y=e.getY();
tf1.setText(String.valueOf(x));
tf2.setText(String.valueOf(y));
}*/
public static void main(String[] args)
{new n102112();}
}
这是我最近编的一个小程序,希望获鼠标在第一个画板内移动时,第二个容器内的文本区能够显示相应的坐标值.
但,现在这个程序 根本不能显示第二个容器,更别说用那个鼠标移动事件了.
请各位有能力的帮帮忙!!!