正如标题所示,由于某种原因,带有 JButtons 的面板保持在北方。这是我认为相关的代码。
f = new JFrame();
f.setTitle("Book Quiz");
f.setSize(800, 400);
f.setLocation(400, 250);
f.setResizable(false);
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
card = new JPanel();
cardLayout = new CardLayout();
card.setLayout(cardLayout);
takeQuizCard = new JPanel();
takeQuizCard.setLayout(new BorderLayout());
quizButtons = new JPanel();
submit = new JButton("Submit Answer");
next = new JButton("Next");
quizDone = new JButton("Done");
quizDone.addActionListener(this);
quizQuit = new JButton("Quit");
quizQuit.addActionListener(this);
quizButtons.setLayout(new FlowLayout());
quizButtons.add(submit);
quizButtons.add(next);
quizButtons.add(quizDone);
quizButtons.add(quizQuit);
takeQuizCard.add(quizButtons, BorderLayout.SOUTH);
quizInfo = new JPanel(new GridLayout(0, 1));
card.add(takeQuizCard, TAKE_QUIZ_CARD);
takeQuizCard.add(quizButtons);
f.add(card);
WEST 部分还有 4 个单选按钮和两个标签。我把它省略了,这样就不会分散任何人的注意力,但如果相关的话,我会添加它。有人有主意吗?我的程序中有另一张“卡”可以正常工作,并且所有内容在代码方面似乎都是相同的。
最佳答案
您正在倒数第二行重新添加quizButtons
。它会覆盖您之前放置的 SOUTH
。
删除:
takeQuizCard.add(quizButtons);
并保留:
takeQuizCard.add(quizButtons, BorderLayout.SOUTH);
关于java - BorderLayout() 似乎不起作用。 JButtons 不会去南方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27252405/