2015-06-21 52 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