Первый экран разделен на 2 JPanels с помощью JSplitPane.Как мне переключиться на другой экран, который настроен так же.Я попытался поместить первые 2 JPanels в контейнер панели, но это не сработало.Затем я попытался оставить их отдельно без контейнера, но потом появилась только вторая нижняя панель.Как использовать cardLayout для переключения между двумя отформатированными панелями.Если три - это другой способ сделать это, пожалуйста, скажите, потому что CardLayout слишком сложно использовать, когда все панели должны быть отформатированы определенным образом.
public class Quizlet extends JFrame implements ActionListener {
public JPanel Container, FTop, FBottom,QTop,QBottom;
public JScrollPane Scroll;
public JSplitPane FirstSplit,QuesSplit,FinalSplit;
public JTextArea Text;
public JButton Start, Next, Finish;
public JTextField Answer;
public JLabel Hello,Ans;
CardLayout Switch = new CardLayout();
public Quizlet () {
Container = new JPanel();
Container.setLayout(Switch);
Container.add(FTop, null);
Container.add(FBottom,null);
Switch.show(FTop,null);
Switch.show(QBottom, null);
FTop = new JPanel(new BorderLayout());
Hello = new JLabel("Please Click start to begin");
FTop.add(Hello, BorderLayout.CENTER);
FBottom = new JPanel(new BorderLayout());
Start = new JButton("Start Session");
Start.addActionListener(this);
FBottom.add(Start,BorderLayout.CENTER);
FirstSplit = new JSplitPane();
FirstSplit.setTopComponent(FTop); // at the top we want our "topPanel"
FirstSplit.setBottomComponent(FBottom);
add(FirstSplit);
FirstSplit.setOrientation(JSplitPane.VERTICAL_SPLIT);
FirstSplit.setDividerLocation(200);
FirstSplit.setTopComponent(FTop);
FirstSplit.setBottomComponent(FBottom);
//Second Screen top component
QTop = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
Ans = new JLabel("Answer");
c.gridx=0;
c.gridy=0;
QTop.add(Ans, c);
Answer = new JTextField(12);
c.gridx=0;
c.gridy=1;
QTop.add(Answer, c);
//Second Screen Bottom Component
QBottom = new JPanel(new BorderLayout());
Next = new JButton("Next Question");
QBottom.add(Next,BorderLayout.CENTER);
//Second screen Split
QuesSplit = new JSplitPane();
QuesSplit.setTopComponent(QTop);
QuesSplit.setBottomComponent(QBottom);
add(QuesSplit);
QuesSplit.setOrientation(JSplitPane.VERTICAL_SPLIT);
QuesSplit.setDividerLocation(200);
QuesSplit.setTopComponent(QTop);
QuesSplit.setBottomComponent(QBottom);
setSize(500,500);
setVisible(true);
setTitle("The Quiz");
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
}
public void actionPerformed (ActionEvent e) {
if(e.getSource()==Start) {
Switch.show(QTop, null);
Switch.show(QBottom, null);
}
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Quizlet show = new Quizlet();
}
});
}
}