我正在尝试在JFrame
中绘制一条线,但是线条没有被绘制出来。
我尝试为contentPane
、lblNewLabel
和l
使用方法setOpaque(true)
,但什么也没有改变。我还尝试在该类之外调用repaint();
,但情况仍然没有改变。这里是代码:
public class DrawingClass extends JFrame
{
private JPanel contentPane;
public DrawingClass(int n, int s, int p) {
Line l= new Line();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(700, 300, 480, 640);
contentPane = new JPanel();
contentPane.setOpaque(true);
setResizable(false);
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblNewLabel = new JLabel("");
lblNewLabel.setIcon(new ImageIcon("image.png"));
lblNewLabel.setBounds(0, 0, 480, 640);
contentPane.add(lblNewLabel);
l.setBounds(0,0,480,640);
contentPane.add(l);
repaint();
}
class Line extends JPanel
{
public void paintComponent(Graphics g) {
g.setColor(Color.BLUE);
g.fillRect(10, 10, 15, 12);
}
}
}
我希望在JFrame的左上角有一条小线,位于背景壁纸之上,但是没有任何效果。它只显示了壁纸。