2015-06-21 54 views
0
自己的坐标

代码:为JPanels

for(int i=0;i<10;i++) { 
      for(int j=0;j<10;j++) { 
       JPanel panel = new JPanel(); 
       addListener(panel); 
       panel.setBorder(new LineBorder(Color.black,1)); 
       grid.add(panel); 

-

public void addListener(JPanel p) { 
     p.addMouseListener(new MouseAdapter() { 
      public void mousePressed(MouseEvent e) { 
       System.out.println(panelX); 
       System.out.println(panelY); 
      } 
     }); 

我怎样才能设置一个X-coordinate并为每个面板Y-coordinate(If i = 5 and j = 2, panelX should be 2 and panelY should be 5)。如果面板被点击,它必须返回面板的XY

+0

什么是上面的for循环implies.and为了更好地帮助越早,张贴[MCVE(http://stackoverflow.com/help/mcve)(最小完备可验证例子)或[SSCCE](http://www.sscce.org/)(简短的,独立的,正确的例子)。 – Madhan

+0

你的意思是,当你点击JPanel时,你想得到光标的坐标? –

回答

3
for(int i=0;i<10;i++) { 
     for(int j=0;j<10;j++) { 
      JPanel panel = new JPanel(); 
      addListener(panel, j, i); 
      panel.setBorder(new LineBorder(Color.black,1)); 
      grid.add(panel); 

-

public void addListener(JPanel p, final int x, final int y) { 
    p.addMouseListener(new MouseAdapter() { 
     public void mousePressed(MouseEvent e) { 
      System.out.println(x); 
      System.out.println(y); 
     } 
    }); 
+0

或更好使用put/getClientProperty – mKorbel