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

📄 gradientcomponent.java

📁 P2P模拟器P2Psim的程序源码
💻 JAVA
字号:
package gui;

import graph.Properties;
import graph.Gradient;

import java.util.ListIterator;

import javax.swing.JLabel;
import javax.swing.JButton;

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


public class GradientComponent extends PropertyComponent
{

	private JLabel[] color = new JLabel[10];
	private JLabel[] number = new JLabel[10];
	private JLabel[] toVertex = new JLabel[10];	
	private JButton nextButton, prevButton;
	
	public GradientComponent()
	{		
		for (int i=0; i<10; i++)
		{
			color[i] = new JLabel("");
			color[i].setOpaque(true);
			color[i].setBounds(0, (1+i*16), 14, 14);
			add(color[i]);
			
			number[i] = new JLabel("");
			number[i].setBounds(20, i*16, 16, 16);
			add(number[i]);
			
			toVertex[i] = new JLabel("");
			toVertex[i].setBounds(42, i*16, 80, 16);
			//toVertex[i].setBackground(Color.blue);
			add(toVertex[i]);
		
		}
	
		nextButton = new JButton("next 10");
		nextButton.setBounds(90, 180, 80, 25);
		nextButton.addActionListener(new java.awt.event.ActionListener() {
						public void actionPerformed(java.awt.event.ActionEvent evt) 
						{
							increaseBegin();
							updateInformation();
						}
					});
		add(nextButton);
		nextButton.hide();
		
		prevButton = new JButton("prev 10");
		prevButton.setBounds(5, 180, 80, 25);
		prevButton.addActionListener(new java.awt.event.ActionListener() {
						public void actionPerformed(java.awt.event.ActionEvent evt) 
						{
							decreaseBegin();
							updateInformation();
						}
					});
		add(prevButton);
		prevButton.hide();
	
	
	}

	public void paint(Graphics g)
	{
		super.paint(g);
		//System.out.println("Paint");
	}

	public void updateInformation(Properties p)
	{
		begin = 0;
		int i = 0;
		
		copyOfProperties = p;
		
		for (i=0; i<10; i++)
		{
			color[i].setBackground(new Color(204,204,204));
			number[i].setText("");
			toVertex[i].setText("");
		}
		
		Gradient tempGradient;
		ListIterator li = p.getInformation("Gradient");
		
		i = 0;
		while(li != null && li.hasNext() && i<10)
		{
			tempGradient = (Gradient)li.next();
			
			color[i].setBackground(tempGradient.getColor());
			number[i].setText(String.valueOf(tempGradient.getDistance()));
			toVertex[i].setText(tempGradient.getSource().toString());
			
			i++;
		}
		
		if (i == 10)
		{
			nextButton.show();
			//add(nextButton);
		}
		else
		{
			nextButton.hide();
			//remove(nextButton);
		}
		
		repaint();
	}
	
	public void updateInformation()
	{
		int i = 0;

		for (i=0; i<10; i++)
		{
			color[i].setBackground(new Color(204,204,204));
			number[i].setText("");
			toVertex[i].setText("");
		}

		Gradient tempGradient;
		ListIterator li = copyOfProperties.getInformation("Gradient");

		i = 0;
		int temp = 0;
		while(li != null && li.hasNext() && temp < (begin*10))
		{
			temp++;
			li.next();
		}
		while(li != null && li.hasNext() && i<10)
		{
			tempGradient = (Gradient)li.next();
	
			color[i].setBackground(tempGradient.getColor());
			number[i].setText(String.valueOf(tempGradient.getDistance()));
			toVertex[i].setText(tempGradient.getSource().toString());
	
			i++;
		}

		if (i == 10 && li.hasNext())
		{
			nextButton.show();
			//add(nextButton);
		}
		else
		{
			nextButton.hide();
			//remove(nextButton);
		}
		if (begin == 0)
		{
			prevButton.hide();
			//remove(prevButton);
		}
		else
		{
			prevButton.show();
			//add(prevButton);
		}
		
		repaint();
		
	}
	

}

⌨️ 快捷键说明

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