小编Ger*_*urg的帖子

Java没有调用组件的重载paintComponent方法

首先,这是创建马赛克图像生成器的家庭作业的一部分.我希望程序在找到图像并将其放在另一个图像(源图像)上时实时重新绘制.

这是在我的main函数中创建面板的代码.

最后一块mypanel.create()是镶嵌逻辑.

myPanel = new mosiacPanel(sourceFile, sizePercent, pixesize,threads, imageList);
//test.setText(Integer.toString(myPanel.getWidth()));
JFrame frame2 = new JFrame("COS 226 MOSIAC OF AWESOMENESS BY SLUIPMOORD && ELEANORASAURUSS");
myPanel.setVisible( true );
myPanel.repaint();
frame2.add(myPanel);
if(myPanel.getWidth() > menubar.getWidth()){
    frame2.setSize(myPanel.getWidth() , myPanel.getHeight() + menubar.getHeight() );
    frame2.repaint();
} else {
    frame2.setSize(menubar.getWidth() , myPanel.getHeight() + menubar.getHeight() );
}
frame2.setVisible( true );
//  myPanel.setLocation(170, 4);
myPanel.create();
Run Code Online (Sandbox Code Playgroud)

Mosaic面板类代码片段

public void create()
{
    ph.createMosiac(imgUrls, this);
}

@Override
protected void paintComponent( Graphics g ) 
{  super.paintComponent(g); 
   g.drawImage( imgToPaint, 0, 0, null );
   // …
Run Code Online (Sandbox Code Playgroud)

java swing paint repaint

7
推荐指数
1
解决办法
827
查看次数

标签 统计

java ×1

paint ×1

repaint ×1

swing ×1