나는 꽤 멍청하다. 나는 도움이 필요하다.다른 클래스에서 ActionListeners 및 메서드 호출하기
여기에 만들려는 프로그램이 내 의도에 맞춰 사용되었지만 코드를 좀 더 읽기 쉽도록 만들었으므로 ActionListener
에 관한 문제가 발생했습니다.
나는 모든 수업을하기 전에 새로운 수업을 만들기 전에 button.addActionListener(this);
을 사용했으며 잘 작동했습니다. 이제는 별도의 수업을 듣고 싶었으므로 무엇을해야할지 전혀 모릅니다.
제 질문은 다음과 같은 상황에서 ActionListener
을 어떻게 작동시킬 수 있습니까? 아니면 여기서 모든 것을 잘못하고 있습니까? 여기
//Class with frame, panels, labels, buttons, etc.
class FemTreEnPlus {
FemTreEnPlus() {
//Components here!
//Then to the part where I try to add these listeners
cfg.addActionListener();
Exit.addActionListener();
New.addActionListener();
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run(){
//Start the Program in the FemTreEnPlus Class
new FemTreEnPlus();
}
});
}
는, 여기에 다른 클래스의, 방법과
public class FemTreEnMethods extends FemTreEnPlus implements ActionListener {
//Perform Actions!
public void actionPerformed(ActionEvent ae){
if(ae.getSource() == cfgButton){
configureSettings();
}
if(ae.getSource() == newButton){
newProject();
}
if(ae.getSource() == exitButton){
exitProgram();
}
}
//All methods are down here
도움을 받으려면 미리 감사드립니다.
한 익명의 내부 클래스 – mKorbel
이 대답은이 경우에 완벽하게 충분하지만, 나는 또한 행동으로 시도 할 것입니다. 여기에 멋진 소개가 있습니다. http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html 솔루션을보다 유연하게 만들 것입니다. 많은 UI 구성 요소에 대해 하나의 동작을 사용하고 "활성화 된"상태를 한 곳에서) –
감사합니다. 여기저기서 몇 가지 오류를 뒤범벅하고 난 후에 마침내 당신이 설명하는 방식으로, 생성자 내부에서 실제로 작동하게 만들었습니다. (실제로 무엇이 실제로 있는지 전혀 모릅니다.) – user2900511