簡體   English   中英

使用ActionListener是不好的做法(這個)

[英]Is it bad practice to use ActionListener(this)

在回答我的一個答案的評論中, Hovercraft

不,你的建議會讓事情變得更糟,因為通過使用它作為ActionListener,你建議他使他的View也成為一個控件,除了“玩具”程序之外不應該做任何事情。

作為一個新手,我一直在使用'這個',我不清楚為什么這么沮喪。 有人可以解釋/詳細說明氣墊船的答案還是給另一個答案?

評論 - https://stackoverflow.com/questions/18021509/how-can-i-call-method-with-a-string/18021674#18021674

這是因為Swing遵循MVC模式。 如果您將ControllerView委托給一個類,那么就會出錯。 關於單一責任原則的閱讀,一個班級應該對一件事負責,如果不是,那么你的班級似乎就像God一樣。

代替

public class MyJFrame extends JFrame implements KeyListener{
     MyJFrame(){
       this.addKeyListener(this); // sounds awful           
     }
}

使用這樣的東西:

public class MyFrameView {

private JFrame frame;

     MyFrameView(){
       frame = new JFrame();
       frame.addKeyListener(new MyKeyListener());
     }

}

public class MyKeyListener implements KeyListener{

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM