⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawingarea.java

📁 JSwarn 是微粒群优化(PSO) 程序包被写在Java. 设计要求极小的工作成绩使用(在配件箱外面) 虽然同样高模件。
💻 JAVA
字号:
package net.sourceforge.jswarm_pso.example_2;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;

import javax.swing.JComponent;

/**
 * A drawing area
 * 
 * @author pcingola@sinectis.com
 */
public class DrawingArea extends JComponent {

	protected SwarmShow2D controller;
	protected Dimension preferredSize;

	//-------------------------------------------------------------------------
	// Constructor
	//-------------------------------------------------------------------------

	public DrawingArea(SwarmShow2D controller) {
		this.controller = controller;
		setBackground(Color.WHITE);
		setOpaque(true);
	}

	//-------------------------------------------------------------------------
	// Methods
	//-------------------------------------------------------------------------

	/** Clear screen */
	public void clear() {
		paintComponent(this.getGraphics());
	}

	/** Get dimention */
	public Dimension getPreferredSize() {
		return controller.getPreferredSize();
	}

	/** Paint */
	protected void paintComponent(Graphics g) {
		// Paint background if we're opaque.
		if( isOpaque() ) {
			g.setColor(getBackground());
			g.fillRect(0, 0, getWidth(), getHeight());
		}
	}

	/** Run a swarm */
	protected void runSwarm() {
		Thread thread = new SwarmThread(controller);
		try {
			thread.join();
		} catch(InterruptedException e) {
			;
		} // It's OK to interrupt this process
	}

	/** Show swarm's points */
	protected void showSwarm() {
		controller.getSwarm().show(getGraphics(), getForeground(), getWidth(), getHeight(), controller.getShowDimention0(), controller.getShowDimention1(), controller.isShowVelocity());
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -