![](/img/trans.png)
[英]JTextFields on top of active drawing on JPanel, threading problems
[英]Java JPanel on top of JPanel (Drawing on top of drawing)
我正在嘗試編寫一個代碼來生成這樣的圖形: http : //www.mathgoodies.com/lessons/graphs/images/line_example1.jpg
我需要不止一行(我希望這就是他們所謂的)。
我剛剛開始學習awt和swing。 經過三個小時的工作后,我無法在任何其他繪圖上畫一條線。
我將嘗試用一個例子來解釋我的問題。
讓我們說我畫一個像這樣的正方形:
JFrame window = new JFrame();
window.setLayout(null);
window.setVisible(true);
Graph graph = new Graph();
window.add(graph);
//-------------------
public class Graph extends JPanel {
....
public void paintComponent (Graphics g) {
super.paintComponent(g);
g.setColor(Color.white);
g.fillRect(150, 20, x, y);
}
....
}
如何在Graphs paintComponent方法中繪制線條時,如何在此白色方塊上繪制另一條線或其他任何內容? 如何在另一個JPanel之上添加另一個JPanel,以便它們都可見? (我正在使用JPanel添加一些按鈕)
希望你能理解我在問什么。
謝謝!
如何在Graphs paintComponent方法中繪制線條時,如何在此白色方塊上繪制另一條線或其他任何內容?
所有自定義繪制都應該在paintComponent()方法中完成。 我不確定你為什么要添加另一個在線繪制的面板。 保持簡單,並將所有繪畫代碼保存在一個地方。
如果要將其他組件(如JPanel)添加到面板,則可以使用布局管理器正確布置組件。 您還需要使用setOpaque(...)方法使組件不透明。
分層組件的另一種方法是使用JLayeredPane。
首先閱讀Swing教程 。 有部分內容:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.