import java.awt.Component;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.JButton;
import javax.swing.JFrame;
class buttonlistener implements ActionListener
{
public void actionPerformed(ActionEvent e){ JButton jb=(JButton)e.getSource();
int x=jb.getBounds().x;
int y=jb.getBounds().y;
int ht=jb.getBounds().height;
int wh=jb.getBounds().width; JButton down=(JButton)(jb.getComponentAt(x, y));
if(down!=null)
{
System.out.println(down.getText()); }
else
{ System.out.println(x);
System.out.println(y);
System.out.println(ht);
System.out.println(wh);
System.out.println("error");
}
}
}
public class test extends JFrame { public test()
{
Container c=getContentPane();
c.setLayout(new GridLayout(2,2));
JButton j2=new JButton("1");
buttonlistener bl2=new buttonlistener();
j2.addActionListener(bl2);
c.add(j2);
JButton j3=new JButton("2");
buttonlistener bl3=new buttonlistener();
j3.addActionListener(bl3);
c.add(j3);
JButton j4=new JButton("3");
buttonlistener bl4=new buttonlistener();
j4.addActionListener(bl4);
c.add(j4);
JButton j1=new JButton("");
c.add(j1);
} public static void main(String[] args) {
test tt=new test();
tt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tt.setSize(200,100);
tt.setVisible(true); } }
按第一个按钮结果是
1
按第二个按钮的结果是
96
0
33
96
error
按第三个按钮的结果是
0
33
33
96
error
不知道有什么错误
恳请帮助
谢谢
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.JButton;
import javax.swing.JFrame;
class buttonlistener implements ActionListener
{
public void actionPerformed(ActionEvent e){ JButton jb=(JButton)e.getSource();
int x=jb.getBounds().x;
int y=jb.getBounds().y;
int ht=jb.getBounds().height;
int wh=jb.getBounds().width; JButton down=(JButton)(jb.getComponentAt(x, y));
if(down!=null)
{
System.out.println(down.getText()); }
else
{ System.out.println(x);
System.out.println(y);
System.out.println(ht);
System.out.println(wh);
System.out.println("error");
}
}
}
public class test extends JFrame { public test()
{
Container c=getContentPane();
c.setLayout(new GridLayout(2,2));
JButton j2=new JButton("1");
buttonlistener bl2=new buttonlistener();
j2.addActionListener(bl2);
c.add(j2);
JButton j3=new JButton("2");
buttonlistener bl3=new buttonlistener();
j3.addActionListener(bl3);
c.add(j3);
JButton j4=new JButton("3");
buttonlistener bl4=new buttonlistener();
j4.addActionListener(bl4);
c.add(j4);
JButton j1=new JButton("");
c.add(j1);
} public static void main(String[] args) {
test tt=new test();
tt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tt.setSize(200,100);
tt.setVisible(true); } }
按第一个按钮结果是
1
按第二个按钮的结果是
96
0
33
96
error
按第三个按钮的结果是
0
33
33
96
error
不知道有什么错误
恳请帮助
谢谢
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;class buttonlistener implements ActionListener { public void actionPerformed(ActionEvent e) { JButton jb = (JButton) e.getSource();
int x = jb.getBounds().x;
int y = jb.getBounds().y;
int ht = jb.getBounds().height;
int wh = jb.getBounds().width; //JButton down = (JButton) (jb.getComponentAt(x, y));
JButton down = (JButton)(e.getSource());
if (down != null) {
System.out.println(down.getText()); } else {
System.out.println(x);
System.out.println(y);
System.out.println(ht);
System.out.println(wh);
System.out.println("error");
}
}}public class test1 extends JFrame { public test1() {
Container c = getContentPane();
c.setLayout(new GridLayout(2, 2));
JButton j2 = new JButton("1");
buttonlistener bl2 = new buttonlistener();
j2.addActionListener(bl2);
c.add(j2);
JButton j3 = new JButton("2");
buttonlistener bl3 = new buttonlistener();
j3.addActionListener(bl3);
c.add(j3);
JButton j4 = new JButton("3");
buttonlistener bl4 = new buttonlistener();
j4.addActionListener(bl4);
c.add(j4);
JButton j1 = new JButton("");
c.add(j1);
} public static void main(String[] args) {
test1 tt = new test1();
tt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tt.setSize(200, 100);
tt.setVisible(true); }}