1
我想讓這個程序爲我的世界,現在我只是開始。我希望如果你點擊一個標籤,它會檢查它是什麼標籤,並會做一些事情。如何使用MouseListener單擊JLabel?
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
System.out.println(me.getX()+", "+me.getY()+".");
Object source = me.getSource();
int intx = me.getX();
int inty = me.getY();
if(me.getX()>=1 && me.getY()>=1 && me.getX()<=70 && me.getY()<=45){
permissionsframe.setLocation(810,250);
System.out.println(p1p.length);
permissionsframe.pack();
permissionsframe.setSize(200, 200);
permissionsframe.setVisible(true);
JLabel playerperms = new JLabel("Player "+p1s+" has "+p1p.length+" permissions.");
playerperms.setBounds(1, 1, 150, 150);
permissionsframe.add(playerperms);
System.out.println("You chose "+player1.getText()+".");
}
else{
System.out.println("You did not click any label.");
}
}
});
此選擇區域適合我現在的名稱 - NonameSL。但如果名稱會更長或更短,選擇區域將明顯不同...
有沒有辦法獲得excact標籤?我試過if(source.equals(player1))
(玩家1是標籤),但是我把標籤放在1,1中,我必須點擊我定義標籤的excact點,X = 1,Y = 1。我怎樣才能讓鼠標聽者聽一個標籤?
那麼這是行不通的。我的代碼是:http://pastebin.com/h9zAD2Df當我運行代碼時,它等待幾秒鐘,然後出現這個錯誤:(它對於stackoverflow來說太長了,這裏是pastebin):http:// pastebin.com/CEq8KegY – NonameSL
試試這個:http://pastebin.com/w0RpRiu1 – Delpes
如果你想這樣做,最好使用命令模式來執行這些動作。 – GuyT