簡體   English   中英

JPanel上的Java JPanel(繪圖在繪圖之上)

[英]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教程 有部分內容:

  1. 使用布局管理器
  2. 使用分層窗格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM