📄 gradientcomponent.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 + -