package com.d5000.ui;import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;public class MainPanel extends JFrame {
private static final long serialVersionUID = 6161497482992913041L;
private JLabel bgLabel = null; public MainPanel() {
initComponents();
} private void initComponents() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setSize((int) screenSize.getWidth(), (int) screenSize.getHeight());
setTitle("主画面");
setLayout(new BorderLayout());
add(getBgLabel(), BorderLayout.CENTER);
setVisible(true);
}

private JLabel getBgLabel() {
if (bgLabel == null) {
bgLabel = new JLabel(new ImageIcon(getClass().getClassLoader().getResource("./images/bg.jpg")));

bgLabel.add(Box.createVerticalStrut(100));

Box hBox = Box.createHorizontalBox();
hBox.add(Box.createHorizontalStrut(50));
hBox.add(new DataReadLabel());

bgLabel.add(hBox);
}
return bgLabel;
}

class DataReadLabel extends JLabel {
private static final long serialVersionUID = -7175972535672515227L;

public DataReadLabel() {

}

public void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println(11111111);
Graphics2D g2d = (Graphics2D) g;
int width = (int) (Toolkit.getDefaultToolkit().getScreenSize().getWidth() - 50 * 2 - 20 * 3 + 25) / 4;
int[] x = { 0, width - 25, width - 25, width - 15, width - 15, width, width - 15, width - 15, width - 25, width - 25, 0, 0 };
int[] y = { 0, 0, 285, 285, 270, 300, 330, 315, 315, 600, 600, 0};
g2d.setPaint(new Color(255, 102, 102));
g2d.drawPolyline(x, y, 12);
}
} public static void main(String[] args) {
new MainPanel();
}
}为什么paintComponent(Graphics g)方法不执行?谢谢!