Tag: cardlayout

如何使用MVC在CardLayout中的JPanel之间切换?

我正在制作数学游戏应用程序,最近开始实施MVC。 我有以下结构: auiAs2 MigJPanel :扩展JPanel ScreenInterface.java :包含全局变量,字体和难度enum MathsGame.java :扩展JFrame auiAs2.view DiffView.java :扩展MigJPanel实现ScreenInterface MigJPanel :扩展MigJPanel实现ScreenInterface EndGameView.java:扩展MigJPanel实现ScreenInterface auiAs2.controller DiffControl.java GameControl.java EndGameControl.java auiAs2.model Model.java :实现ScreenInterface 我的MathsGame.java包含一个设置为CardLayout的JPanel ,其中添加了DiffView , EndGameView和EndGameView实例。 当我运行程序时,会向用户显示diffView ‘卡’。 如果用户单击“新游戏”,则DiffControl.java的ActionListener DiffControl.java获得所选的难度。 public class DiffControl { private DiffView diffView; private Model model; public DiffControl(DiffView diffView, Model model) { this.diffView = diffView; this.model = model; this.diffView.addNewGameListener(new NewGameListener()); } […]

当我们点击不同的按钮时,其内容会发生变化的JFrame

我在这里使用Java’s Swing来制作UI应用程序。 我有一个创建了一个JFrame,带有一些按钮。 当我点击这个按钮时,我想要一个在这个地方有一些不同内容的新JFrame。 但是,我不想在这里加载新的JFrame。 我知道一种方法是在第一个JFrame中按钮的actionPerformed(ActionEvent obj)方法中将第二个JFrame的可见性设置为True。 但它再次加载一个新的JFrame,我不希望这样。 public class FirstUI extends JFrame { JButton but1; public FirstUI(){ but1= new JButton(“Click here”); add(but1); XYZ obj= new XYZ(): but1.addActionListener(obj); } public class XYZ implements ActionListener{ public void actionPerformed(ActionEvent obj1){ // WHAT TO DO HERE } } } 我只想要一个JFrame,当我们点击不同的按钮时,其内容会发生变化。 我怎样才能做到这一点?

如何在NetBeans GUI构建器中使用卡布局?

有谁知道如何使用NetBeans GUI构建器工具中的卡布局? 我想根据JRadioButton选择显示面板,所以我想使用卡片布局来展示它。

如何在外部类中的ActionListeners中切换CardLayout中的面板

我在主类中有一个cardLayout,通过面板将Gui类添加到布局中,当按下Room1Button时,如何将主方法中的卡切换到Gui2卡 这是最好的方式来解决这个问题,任何帮助都会得到解决 主要方法 import javax.swing.*; import java.awt.*; class Main { CardLayout cl=new CardLayout(); GridBagConstraints gb=new GridBagConstraints(); JFrame frame=new JFrame(“Frame”); JPanel panel =new JPanel(); Gui1 g1= Gui1(); Gui2 g2= Gui2(); public Main() { panel.setLayout(cl); panel.add(g1, “1”); panel.add(g2, “2”); frame.add(panel); frame.pack(); frame.setVisible(true); cl.show(panel,”1″); //how would the actionlistner in the Gui1 class switch the layout to “2” cl.show(panel, […]

NullPointerException JPanel和CardLayout出错

我正在为课堂上的酒店管理软件工作,我的代码遇到了一些问题。 在这一点上,我只是试图将我在一个单独的类中创建的JPanel添加到我的主gui中。 任何帮助将不胜感激。 〜谢谢! Exception in thread “main” java.lang.NullPointerException at java.awt.Container.addImpl(Unknown Source) at java.awt.Container.add(Unknown Source) at hotelManage.HotelSystem.showGUI(HotelSystem.java:75) at hotelManage.HotelSystem.(HotelSystem.java:27) at hotelManage.HotelSystem.main(HotelSystem.java:115) 注意:错误发生在“jpanel.add(”Room“,room.getRoomPanel())行;” 代码:HotelSystem.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class HotelSystem extends JFrame implements ActionListener { /** * */ private static final long serialVersionUID = 1840835913045151061L; private JFrame mainFrame; private JPanel mainPanel; private JButton […]

在JFrame中实现CardLayout并根据特定按钮切换卡片

我在下面发布了我的代码。 我有一个简单的任务,即创建一个可导航的GUI。 我花了几个小时研究如何完成这个,这就是我把它放在一起的代码。 最初我想要在没有任何布局或任何东西的情况下执行导航。 在用户点击欢迎面板上的“登录”按钮后,我需要显示主面板。 它显示欢迎卡就好了,但是当我到达validateLogin方法时(按下登录按钮时激活,并且成功登录后它应该显示卡中的主页面板)它只是保留在欢迎面板上,即使我已validation我的程序到达循环以通过system.out.Println()更改卡 请帮忙。 我整个星期六都试图通过试验和研究解决这个问题,但没有成功。 这对我来说是最后的手段,所以如果有人能告诉我我的缺点,那么我很乐意继续前进并修复它。 然后将该修复应用于我的程序所需的许多其他卡。 enter code here public class mainGUI implements ActionListener{ JFrame main; JPanel cards = new JPanel(new CardLayout()); CardLayout cl = (CardLayout)(cards.getLayout()); //Items for the welcome panel JPanel welcome = welcomePanel(); JButton login; JButton register; JTextField username; JTextField password; //home panel JPanel home = homePanel(); //WelcomePanel welcome […]

CardLayout的父容器/面板

如何在CardLayout获取任何面板的“容器”面板。 也就是说,如果面板是另一个“容器”面板中的卡片,那么如何从卡片中引用这个“容器”面板? 这就是我在做的事: – public class LogInPanel extends javax.swing.JPanel implements ActionListener{ /** * Creates new form Panel2 */ private JPanel parentPanel; private CardLayout c1=null; public LogInPanel() { initComponents(); //c1=new CardLayout(); parentPanel=(JPanel)(SwingUtilities.getAncestorOfClass(this.getClass(), this)); c1=(CardLayout)(parentPanel.getLayout()); submitLogin.addActionListener(this); } …

以前的CardLayoutfunction不起作用?

我的cardlayout的下一个function是正常工作,但以前不是。 就我而言,只需要“layout.previous( _ );” 在我的makePanel()方法的actionPerformed方法体中应该可以工作,但是当我运行我的程序并单击prev按钮时,没有任何反应。 我究竟做错了什么? – import java.awt.*; import javax.swing.*; import java.util.*; import java.awt.event.*; public class Temp { public static void main (String[] args) { new MakeAQuiz(); } static class MakeAQuiz { private JPanel start, base, fields, buttonz, question; private String [] labels = {“Enter your question: “, “Answer 1: “, “Answer 2: “, […]

在JFrame中切换JPanel

现在我知道有很多这方面的问题,我已经阅读了十几个。 但我刚刚撞墙,我无法做出正面或反面。 inheritance人我的问题。 我有3个Panel类。 ConfigurePanel.java ConnectServerPanel.java RunServerPanel.java 和我的JFrame类 StartUPGUI.java 这是在启动时初始化的内容 private void initComponents() { jPanel1 = new javax.swing.JPanel(); startUp = new sjdproject.GUI.ConfigurePanel(); runServer = new sjdproject.GUI.RunServerPanel(); serverConnect = new sjdproject.GUI.ConnectServerPanel(); setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); jPanel1.setLayout(new java.awt.CardLayout()); jPanel1.add(startUp, “card2”); jPanel1.add(runServer, “card4”); jPanel1.add(serverConnect, “card3”); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap(27, Short.MAX_VALUE) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 419, javax.swing.GroupLayout.PREFERRED_SIZE) […]

以随机顺序显示CardLayout卡?

我想在CardLayout中随机下载显示卡片或屏幕的顺序。 我需要有关如何实现这一目标的指导。 我应该使用什么策略? 我尝试使用下面的代码,但它是按固定顺序。 我希望能够选择我喜欢的订单。 编辑! 对不起,按随机顺序我并不是说洗牌。 但是,很高兴知道。 我希望程序的用户能够输入一些输入。 根据输入的值,显示特定的屏幕/卡。 import java.awt.*; import javax.swing.*; import java.awt.event.*; public class CardLayoutExample extends JFrame { private int currentCard = 1; private JPanel cardPanel; private CardLayout cl; public CardLayoutExample() { setTitle(“Card Layout Example”); setSize(300, 150); cardPanel = new JPanel(); cl = new CardLayout(); cardPanel.setLayout(cl); JPanel p1 = new JPanel(); […]