为了账号安全,请及时绑定邮箱和手机立即绑定

在Swing中实现后退/前进按钮

在Swing中实现后退/前进按钮

30秒到达战场 2019-06-15 13:54:02
在Swing中实现后退/前进按钮我有个简短的问题。我在Swing方面获得了一些经验,最简单的方法就是绘制一个相当大的GUI。作为GUI的一部分,我希望有前进和后退按钮。我试图采用的方法是实现将当前JPanel推到堆栈并检索前一个值的方法(无论是正向还是反向(因此是2个堆栈)。但我不能让它起作用。也许我是完全错误地使用它,或者一个堆栈不能像我使用它那样被使用。不管是哪种情况,都让我心烦。我想可能有更简单的方法,如卡片布局,但我认为这种方法应该有效,这就是什么是如此恼人。值得注意的是,我正在使用JFrame“基类”,并根据屏幕更改中央JPanel。然而,导航条作为“基类”的一部分是常量。这个“基类”的代码:public class Main_Frame extends JFrame{     static JPanel nav_bar_panel;     JButton home;     JButton back;     JButton forward;     JPanel currentPanel;     static Stack<JPanel> previousPanels;     static Stack<JPanel> forwardPanels;     public Main_Frame(){         super("DEMO");         setSize(800,600);         setLayout(new BorderLayout());         setVisible(true);         add(nav_bar(), BorderLayout.NORTH);         currentPanel = init_display();         add(currentPanel, BorderLayout.CENTER);         previousPanels = new Stack<JPanel>();         forwardPanels  = new Stack<JPanel>();     }     private JPanel nav_bar(){         ButtonPressHandler handler = new ButtonPressHandler();         nav_bar_panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 10));         back = new JButton("Back");         back.addActionListener(handler);         home = new JButton("Home");         home.addActionListener(handler);         forward = new JButton("Forward");         forward.addActionListener(handler);         nav_bar_panel.add(back);         nav_bar_panel.add(home);         nav_bar_panel.add(forward);         return nav_bar_panel;     }     private JPanel init_display(){         Home_Panel home_panel = new Home_Panel();         return home_panel;     }     public void change_display(JPanel myPanel){         invalidate();         remove(currentPanel);         previousPanels.push(currentPanel);         currentPanel = myPanel;         add(currentPanel);         validate();     }
查看完整描述

3 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

使我得到的任何东西可重用的想法是一个很好的想法。可惜Swing没有内置这个功能

检查卡片布局动作这可能是试图使卡片布局更容易使用这样的东西。


查看完整回答
反对 回复 2019-06-15
  • 3 回答
  • 0 关注
  • 786 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信