如何使用 Runnable 方法将 JPanel 添加到 JFrame
How to add a JPanel to a JFrame with Runnable method
当我创建一个 JPanel 并将其添加到我的 JFrame 并将我的 canvas 添加到其中 (space) 时,它将仅显示 JPanel 而不是任何图形。为什么它只显示 JPanel 而我希望它同时显示它们?
解决方法很简单。在您的代码中,您将 'space' 放在 window 的中心,因此您告诉它占据整个屏幕。你应该做的是这个。
frame.add(p, BorderLayout.EAST);//EAST for the rigth
frame.add(space, BorderLayout.WEST);//WEST for the left
如果您打算在 jPanel 中添加 canvas,您可以尝试更改源代码中的以下行
原码:
frame.add(p);
frame.add(space, BorderLayout.CENTER);
建议代码:
p.add(space);
frame.add(p, BorderLayout.CENTER);
如果您愿意同时查看 JPanel 和 JFrame 中的 canvas,请尝试为 canvas also.But 提供定位,不同的布局会做得更好。试试给定的例子。
原码:
frame.setLayout(new BorderLayout());
frame.add(p);
frame.add(space, BorderLayout.CENTER);
建议代码 1:
通过在边框布局中为 JPanle 提供位置。
frame.setLayout(new BorderLayout());
frame.add(p, BorderLayout.NORTH);
frame.add(space, BorderLayout.CENTER);
建议代码 2:
通过更改 JFrame 的布局。
frame.setLayout(new GridLayout(0,2));
frame.add(p);
frame.add(space);
更多信息请参考官方文档[1]。
[1]. https://docs.oracle.com/javase/tutorial/uiswing/layout/index.html
当我创建一个 JPanel 并将其添加到我的 JFrame 并将我的 canvas 添加到其中 (space) 时,它将仅显示 JPanel 而不是任何图形。为什么它只显示 JPanel 而我希望它同时显示它们?
解决方法很简单。在您的代码中,您将 'space' 放在 window 的中心,因此您告诉它占据整个屏幕。你应该做的是这个。
frame.add(p, BorderLayout.EAST);//EAST for the rigth
frame.add(space, BorderLayout.WEST);//WEST for the left
如果您打算在 jPanel 中添加 canvas,您可以尝试更改源代码中的以下行
原码:
frame.add(p);
frame.add(space, BorderLayout.CENTER);
建议代码:
p.add(space);
frame.add(p, BorderLayout.CENTER);
如果您愿意同时查看 JPanel 和 JFrame 中的 canvas,请尝试为 canvas also.But 提供定位,不同的布局会做得更好。试试给定的例子。
原码:
frame.setLayout(new BorderLayout());
frame.add(p);
frame.add(space, BorderLayout.CENTER);
建议代码 1: 通过在边框布局中为 JPanle 提供位置。
frame.setLayout(new BorderLayout());
frame.add(p, BorderLayout.NORTH);
frame.add(space, BorderLayout.CENTER);
建议代码 2: 通过更改 JFrame 的布局。
frame.setLayout(new GridLayout(0,2));
frame.add(p);
frame.add(space);
更多信息请参考官方文档[1]。
[1]. https://docs.oracle.com/javase/tutorial/uiswing/layout/index.html