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