卡布局和添加keylistener到jpanel

时间:2017-01-11 20:40:52

标签: java swing layout-manager keylistener cardlayout

我在主窗口中为我的主JPanel设置了卡片布局管理器。

public  class MainFrame extends JFrame{
    JPanel contentPanel;

    public MainFrame(){}

    contentPanel = new JPanel();
    contentPanel.setLayout(new CardLayout());
    contentPanel.removeAll();
    contentPanel.add(new ContentPanel1());
    contentPanel.repaint();
    contentPanel.revalidate()

}

现在我在ContentPanel1课程中有一个按钮。点击它后,它会转到新的Panel(WorkPlace panel)。我希望为这个面板(WorkPlace)提供一个关键监听器,但它不起作用。

public class WorkPlace extends JPanel implements key{
    public WorkPlace(){
       this.setFocusable(true);
       this.requestFocusInWindow();
    }

    @Override
    public void keyTyped(KeyEvent e) {}

    @Override
    public void keyReleased(KeyEvent e) {}

    @Override
    public void keyPressed(KeyEvent e) {
        System.out.println("Pressed " + e.getKeyChar());
    }        
}

点击ContentPanel1中的按钮后,WorkPlace面板出现在MainFrame中,但其键盘记录器无效。这有什么不对? 请注意,我只带来这些类中的一些代码,每个类都在单独的文件中。

0 个答案:

没有答案