jpanel 添加 JLabel的绘图问题

downmeim 2009-10-31 08:46:31
import java.awt.Graphics;
import java.awt.Graphics2D;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class testPaint extends JLabel {

/**
* @param args
*/


private String text = "Hello World";

//重写paintComponet()方法,在组件上画字符串
public void paint(Graphics g){
System.out.println("here");
Graphics2D g2=(Graphics2D)g;
// g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.drawString(text, getX(), getHeight()/2);
System.out.println("ok");
}



public static void main(String[] args) {
// TODO Auto-generated method stub

JFrame frame = new JFrame();

testPaint test = new testPaint();

JPanel p = new JPanel();

frame.add(p);
p.add(test);
frame.add(p);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200,300);
frame.setVisible(true);

}

}

不能显示jlabel中的文字,如果frame直接添加jlabel就能显示了,求点迷津!!!
...全文
175 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
downmeim 2009-10-31
  • 打赏
  • 举报
回复
恩,改成BorderLayout就可以了,脑抽,为什么FlowLayout就不可以呢
ThePioneer 2009-10-31
  • 打赏
  • 举报
回复
p改为其他layout呗,例如BorderLayout,至于干嘛默认的FlowLayout不管用,我也不知道...
downmeim 2009-10-31
  • 打赏
  • 举报
回复
试过重写paintComponent()方法,也不行
苍蝇①号 2009-10-31
  • 打赏
  • 举报
回复
改写paint为paintCompanent试试行吗

62,635

社区成员

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

试试用AI创作助手写篇文章吧