【发布时间】:2014-11-28 03:41:58
【问题描述】:
我正在尝试进行卡片布局。现在我什至不能在两个屏幕之间切换。我希望第一个屏幕有三个顶部按钮。单击添加问题时,我希望显示第二个屏幕,我将在解决 this 问题后立即对其进行编码。现在根本没有显示任何按钮。
public class BookQuizGUI extends JFrame implements ActionListener
{
private JFrame f;
private JPanel card;
private JPanel home;
private JPanel contentPane;
private JPanel pnlButtons;
private JButton addQs;
private JButton takeQuiz;
private JButton quit;
private CardLayout cardLayout;
private JPanel addQ;
private JPanel pnlButtons2;
private JButton add;
private JButton writeAll;
private JButton done;
private JButton quit2;
/**
*
*/
public BookQuizGUI()
{
//The main screen for when the program starts
f = new JFrame();
f.setTitle("Book Quiz");
f.setSize(800, 400);
f.setLocation(400, 250);
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
contentPane = (JPanel) f.getContentPane();
card = new JPanel();
cardLayout = new CardLayout();
card.setLayout(cardLayout);
home = new JPanel();
pnlButtons = new JPanel();
pnlButtons.setLayout(new GridLayout(1, 3));
addQs = new JButton("Add Questions");
takeQuiz = new JButton("Take Quiz");
quit = new JButton("Quit");
pnlButtons.add(addQs);
pnlButtons.add(takeQuiz);
pnlButtons.add(quit);
home.add(pnlButtons);
card.add(home);
f.add(card);
cardLayout.show(card, "Home");
addQ = new JPanel();
addQ.setLayout(new GridLayout(1, 2));
pnlButtons2 = new JPanel();
add = new JButton("Add");
writeAll = new JButton("Write All");
done = new JButton("Done");
quit2 = new JButton("Quit");
pnlButtons2.add(add);
pnlButtons2.add(writeAll);
pnlButtons2.add(done);
pnlButtons2.add(quit2);
addQ.add(pnlButtons, BorderLayout.SOUTH);
addQs.addActionListener(this);
takeQuiz.addActionListener(this);
quit.addActionListener(this);
f.setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args)
{
BookQuizGUI gui = new BookQuizGUI();
}
@Override
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == quit)
{
System.exit(0);
}
if(e.getSource() == addQs)
{
}
}
}
请,任何帮助表示赞赏。
【问题讨论】:
标签: java swing jpanel cardlayout