繁体   English   中英

如何使旋转窗口在内容之间切换?

[英]How to make swing windows switch between content?

抱歉,如果我的标题有点模糊,但是我想做的是将其设置为一个按钮,从而转到另一个屏幕。 我正在做一个基本的游戏,所以会有一些。 我当前要尝试的是选项屏幕。 我找到了使用revalidate(),repaint()和多个面板的基本方法,但是每次都打开另一个窗口,效率似乎不高。

这是我的选项屏幕代码,它处理屏幕从主菜单到其自身的更改。

package menu;

 import javax.swing.JFrame; import javax.swing.JPanel; import main.Window; public class Options { JPanel pnlMain = Window.pnlMain; JFrame frame = new main.Window(); JPanel pnlOptions = new JPanel(); public static Button graphics = new Button("Graphics"); public Options() { Listener listener = new Listener(); frame.add(pnlOptions); frame.remove(pnlMain); pnlMain.revalidate(); pnlMain.repaint(); pnlMain.setVisible(false); pnlOptions.setVisible(true); pnlOptions.add(graphics); pnlOptions.revalidate(); pnlOptions.repaint(); graphics.addActionListener(listener); } 

}

CardLayout将帮助切换框架中的内容。 基本上,我们在框架内切换面板,而不是打开新窗口。 希望这就是你的意思

http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html

//是,必须有根面板。 您的所有卡都必须添加到其中

Jpanel rootPanel = new JPanel(new CardLayout()); 

//to add a panel
Jpanel card1= new Jpanel();
rootPanel.add(card1,"NameofFirstPanel");

//to switch to a card, say on a button press
CardLayout cards = (CardLayout)  rootPanel.getLayout();

cards.show(rootPanel,"nameOfFirstPanel");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM