为何运行后窗体空白没有显示字符,解决立即给分!

zhongshupeng 2007-10-13 12:37:36
import java.awt.*;
import javax.swing.*;
public class HelloPanel extends JFrame {


public static void main(String[] args){
MyFrame f=new MyFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();

}

}

class MyFrame extends JFrame{
MyFrame(){

setSize(900,600);
setTitle("Title");
MyPanel m=new MyPanel();
Container j=getContentPane();
j.add(m);

}
}
class MyPanel extends JPanel{
public void paintConponent(Graphics g){
super.paintComponent(g);
g.drawString("Hello Panel", 100, 100);

}
}
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xp7024b 2007-10-17
  • 打赏
  • 举报
回复
你的MyPanel 有问题根本没有覆盖掉父类的paintConponent

class MyPanel extends JPanel {

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString("Hello Panel", 100, 100);
}

}
chill_ming 2007-10-13
  • 打赏
  • 举报
回复
MyPanel 應該重寫paint方法
詳情如下:
class MyPanel extends JPanel {
public void paint(Graphics g) {
super.paintComponent(g);
g.drawString("Hello Panel", 100, 100);
}
}
qybao 2007-10-13
  • 打赏
  • 举报
回复
你的panel没有设置大小啊?也就是说你的panel是0size,看不见的
这样试试看
class MyFrame extends JFrame{
MyFrame(){
setSize(900,600);
setTitle("Title");
MyPanel m=new MyPanel();
m.setSize(500, 500);
Container j=getContentPane();
j.setLayout(new BorderLayout());
j.add(m, BorderLayout.CENTER);
}
}

62,623

社区成员

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

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