2
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(new Dimension(500,500));
JLayeredPane layers = new JLayeredPane();
JPanel p1,p2;
p1=new JPanel();
p2=new JPanel();
p1.setBounds(0,0,200,200);
p2.setBounds(0,0,200,200);
p1.setOpaque(false);
p2.setOpaque(false);
layers.setLayer(p1,new Integer(0));
layers.setLayer(p2,new Integer(1));
layers.add(p1);
layers.add(p2);
f.add(layers);
f.setVisible(true);
Graphics2D gr = (Graphics2D) p2.getGraphics();
gr.setColor(Color.BLACK);
gr.drawLine(10,10,20,20);
我想在JLayeredPane中繪製一個JPanel,但沒有畫任何東西。如果我將一個組件(一個JButton)添加到p1或p2中,它將被繪製。Java:JLayeredPane中的JPanel上畫線條
在JLayeredPane中繪製正確的方法是什麼?
但如果我要動態地畫線是什麼?唯一的選擇是在JPanel類中添加一個「行」數組並調用repaint()? – user 2014-12-06 08:33:42
是的,你的paintComponent可以引用你在其他地方控制的狀態(列表,模型等),然後調用repaint()... – Adam 2014-12-06 08:35:48