📄 graphw.java
字号:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.util.EventObject;
import javax.swing.*;
public class GraphW extends Applet
implements ActionListener, MouseListener
{
private vertexGroup theVertexGroup;
private boolean wasClearPressed;
private int GPNumber;
private boolean isNumber;
private TextField tf;
private Button newButton;
private Button treeButton;
private Button viewButton;
public void init()
{
wasClearPressed = false;
GPNumber = -1;
isNumber = false;
tf = new TextField("", 4);
addMouseListener(this);
setLayout(new FlowLayout());
Panel panel = new Panel();
add(panel);
panel.setLayout(new FlowLayout());
Panel panel1 = new Panel();
panel.add(panel1);
panel1.setLayout(new FlowLayout(0));
newButton = new Button("New");
panel1.add(newButton);
newButton.addActionListener(this);
treeButton = new Button("Tree");
panel1.add(treeButton);
treeButton.addActionListener(this);
viewButton = new Button("View");
panel1.add(viewButton);
viewButton.addActionListener(this);
Panel panel2 = new Panel();
panel.add(panel2);
panel2.setLayout(new FlowLayout(2));
panel2.add(new Label("Enter number: "));
panel2.add(tf);
theVertexGroup = new vertexGroup();
repaint();
}
public void paint(Graphics g)
{
theVertexGroup.draw(g);
}
public void update(Graphics g)
{
paint(g);
}
public void actionPerformed(ActionEvent actionevent)
{
if(actionevent.getSource() == newButton)
{
if(wasClearPressed)
{
wasClearPressed = false;
theVertexGroup = new vertexGroup();
} else
{
wasClearPressed = true;
theVertexGroup.warningNew();
}
} else
if(actionevent.getSource() == treeButton)
{
theVertexGroup.mst();
wasClearPressed = false;
} else
if(actionevent.getSource() == viewButton)
{
theVertexGroup.changeView();
wasClearPressed = false;
}
repaint();
}
public void mousePressed(MouseEvent mouseevent)
{
int i = mouseevent.getX();
int j = mouseevent.getY();
wasClearPressed = false;
if(mouseevent.getClickCount() == 1)
theVertexGroup.startDrag(i, j);
else
if(mouseevent.getClickCount() == 2)
theVertexGroup.makeVertex(i, j);
repaint();
}
public void mouseReleased(MouseEvent mouseevent)
{
int i = mouseevent.getX();
int j = mouseevent.getY();
String s = tf.getText();
isNumber = true;
try
{
GPNumber = Integer.parseInt(s);
}
catch(NumberFormatException _ex)
{
isNumber = false;
}
theVertexGroup.endDrag(isNumber, GPNumber, i, j);
isNumber = false;
tf.setText("");
repaint();
}
public void mouseEntered(MouseEvent mouseevent)
{
}
public void mouseExited(MouseEvent mouseevent)
{
}
public void mouseClicked(MouseEvent mouseevent)
{
}
public static void main(String args[])
{
GraphW gw=new GraphW();
gw.init();
JFrame frame=new JFrame();
frame.add(gw);
frame.setResizable(false);
frame.setTitle("[052473]毕洪宇");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(450,310);
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -