簡體   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