paintComponent的问题

wangju1234 2010-04-03 12:18:37
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)方法不执行?谢谢!
...全文
61 1 打赏 收藏 转发到动态 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
justchenjie 2010-04-03
  • 打赏
  • 举报
回复
你没把 DataReadLabel add到MainPanel中吧,所以没看到效果
相关推荐

62,566

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告