繁体   English   中英

如何使用Runnable方法将JPanel添加到JFrame

[英]How to add a JPanel to a JFrame with Runnable method

当我创建一个JPanel并将其添加到我的JFrame并将我的画布添加到它(空间)时,它将仅显示JPanel而不显示任何图形。 为什么当我希望它同时显示两个面板时只显示JPanel?

源代码: http : //pastebin.com/Cw9E0a8j

如果您打算将画布添加到jPanel中,请尝试更改源代码中的以下几行

原始代码:

frame.add(p);
frame.add(space, BorderLayout.CENTER);

建议代码:

 p.add(space);
 frame.add(p, BorderLayout.CENTER);

如果您愿意在JFrame中同时查看JPanel和画布,请尝试也给画布定位,但是使用不同的布局会更好。 试试给定的例子。

原始代码:

    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

解决方案非常简单。 在您的代码中,您将“空格”放置在窗口的中央,因此您要告诉它占据整个屏幕。 您应该做的是这个。

frame.add(p, BorderLayout.EAST);//EAST for the rigth
frame.add(space, BorderLayout.WEST);//WEST for the left

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM