关于paintComponent()的调用问题
importjava.awt.*;importjavax.swing.*;publicclasspanelTestextendsJPanel{publicvoidpain...
import java.awt.*;
import javax.swing.*;
public class panelTest extends JPanel {
public void paintComponent(Graphics g){
g.setColor(Color.orange);
g.fillRect(20,50,100,100);
}
public void creatFrame(){
JFrame jf = new JFrame("my frame");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(300,300);
jf.setVisible(true);
}
public static void main(String[] args){
panelTest A = new panelTest();
A.creatFrame();}
}
//请问为啥运行后不显示颜色为orange的矩形方块 只有窗口什么都没有 请大神赐教啊 展开
import javax.swing.*;
public class panelTest extends JPanel {
public void paintComponent(Graphics g){
g.setColor(Color.orange);
g.fillRect(20,50,100,100);
}
public void creatFrame(){
JFrame jf = new JFrame("my frame");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(300,300);
jf.setVisible(true);
}
public static void main(String[] args){
panelTest A = new panelTest();
A.creatFrame();}
}
//请问为啥运行后不显示颜色为orange的矩形方块 只有窗口什么都没有 请大神赐教啊 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
没有添加到JFrame里哦
更多追问追答
追问
谢谢!
请问应该要怎样在creatFrame()这个函数中用 jf.getContentPane().add()这个方法将其加入到JFrame中?
是不是重写paintComponent这个函数最好单独弄个类?
追答
一般继承JPanel或JComponent,然后重写paintComponent
可以直接jf。add(this)在createFrame方法里
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询