2016-12-22 8 views
0

動作している場合は、InternalFrameの下にActionListenerがあるかどうかを確認したいと思います。しかし、ActionListenerを実装している内部クラスは、登録されたボタンを読み取ることはありません。理由は何ですか?JInternalFrame内のJButtonがActionListenerをトリガーしません

EmployeeFrameView

public class EmployeeFrameView extends JInternalFrame 
{ 
    JButton button; 

    public EmployeeFrameView() 
    { 
    super("AddEmployee",true,true,true,true); 
    addComponentsToPane(getContentPane()); 
    pack(); 
    setVisible(true); 
    setLocation(xOffset,yOffset); 
    } 

    private void addComponentsToPane(final Container pane) 
    { 
    final JPanel content = new JPanel(); 
    panelEmployee = new JPanel(); 

    //Add to content and set layout 
    content.setLayout(new BorderLayout()); 
    content.add(addComponentsToEmployeePanel(panelEmployee),BorderLayout.NORTH); 

    //Adding ScrollPane to Container. 
    final JScrollPane scrollPane = new JScrollPane(content, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
    pane.add(scrollPane); 
    } 

    private JPanel addComponentsToEmployeePanel(JPanel panelEmployee) 
    { 
    panelEmployee.setLayout(grid); 
    gbc.gridx = 0; 
    gbc.gridy = 1; 
    button = new JButton("Button"); 
    panelEmployee.add(button, gbc); 
    } 

    public void addAction(ActionListener l) 
    { 
    button.addActionListener(l); 
    } 
} 

EmployeeFrameController

public class EmployeeFrameController 
{ 
EmployeeFrameView theView; 

public EmployeeFrameController(EmployeeFrameView theView) 
{ 
    this.theView = theView; 

    this.theView.addAction(new addAction()); 
} 

class addAction implements ActionListener 
{ 
    @Override 
    public void actionPerformed(ActionEvent e) 
    { 
     System.out.println("Working"); 
    } 

} 

} 

メイン

public class Main 
{ 
public static void main(String[] args) 
{ 
    EmployeeFrameView employeeFrameView = new EmployeeFrameView(); 

    EmployeeFrameController employeeFrameController = new EmployeeFrameController(employeeFrameView); 
} 
} 
+0

[example](http://stackoverflow.com/a/14874924/230513)に記載されている問題を示す[mcve]を含むように質問を編集してください。 – trashgod

+0

@trashgod最新の投稿をご覧ください:) – Francisunoxx

+0

悲しいことに、あなたの例は不完全です。私の[example](http://stackoverflow.com/a/14874924/230513)ネットワークはありますか? – trashgod

答えて

0

私はできませんあなたが投稿したコードの問題を見てください。おそらくあなたの問題はここには含まれていなかったコードのどこかにあるでしょう(ボタンが画面に追加されたコード化を含めていないので、何か参考になるかもしれません)。

+0

更新された投稿をご覧ください:) – Francisunoxx

関連する問題