java所有JPanel都没有显示在我的JFrame中
我在a Jframe
上加了3 JPanels
。那些JPanels
包含O+图像和标签
当我试图显示JFrame
时,它没有正确显示所有元素。请帮忙
JButton next=new JButton("next");
next.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("mouse next clicked");
nextAction(n, tempList);
}
});
JButton ok= new JButton("ok");
JLabel pageLabel= new JLabel("page"+x);
btnPanel.add(pre);
btnPanel.add(pageLabel);
btnPanel.add(next);
okBtn.add(ok,BorderLayout.PAGE_END);
layout.setHgap(10);
layout.setVgap(10);
extPanel.setSize(50,50);
extPanel.setLayout(layout);
//frame.setLayout(new FlowLayout());
//frame.setLayout(new GridLayout());
//frame.setLayout(new BorderLayout());
frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS));
frame.add(extPanel);
frame.add(btnPanel);
frame.add(okBtn,BorderLayout.PAGE_END);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
# 1 楼答案
# 2 楼答案
假设你提到的三个面板是btnPanel,okBtn(?)还有extPanel,包括一个你忘了复制的pre按钮,如果我用SwingUtilities启动你的代码的话。正如npinti评论的那样,invokeLater——我获得了一个小窗口
在你的代码中,我用这个替换了帧。我的主要类测试从JFrame扩展而来
你说的“正确”到底是什么意思