diagraph.java
来自「本软件是使用java 开发的」· Java 代码 · 共 135 行
JAVA
135 行
package datastructure;
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class DiaGraph
extends JDialog
implements ActionListener {
JPanel jPanel1 = new JPanel();
JLabel jLabel1 = new JLabel();
JTextField jTextField1 = new JTextField();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
BorderLayout borderLayout1 = new BorderLayout();
GraphArr grapharr;
int array[][] = new int[12][12];
int vertexnum;
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
JLabel jLabel7 = new JLabel();
JLabel jLabel8 = new JLabel();
public DiaGraph(Frame frame, String title, boolean modal) {
super(frame, title, modal);
try {
jbInit();
pack();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
public DiaGraph() {
this(null, "", false);
}
private void jbInit() throws Exception {
this.setLocation(40, 40);
jTextField1.addActionListener(this);
jButton2.addActionListener(this);
jButton3.addActionListener(this);
jLabel1.setText("输入图的结点数");
jTextField1.setText("0");
jTextField1.setColumns(5);
jButton2.setText("确定");
jButton3.setText("取消");
this.jButton2.setEnabled(false);
jPanel2.setLayout(new GridLayout(1, 3));
jLabel2.setText("输入数据说明:");
jLabel2.setBounds(new Rectangle(12, 0, 114, 37));
jLabel3.setText("1.输入结点个数,并按回车键");
jLabel3.setBounds(new Rectangle(8, 22, 168, 39));
jLabel4.setText("2.输入边的信息");
jLabel4.setBounds(new Rectangle(10, 55, 161, 31));
jLabel5.setText("a.0代表相应的结点没有边");
jLabel5.setBounds(new Rectangle(19, 82, 140, 28));
jLabel6.setText("b.1代表相应的结点有边");
jLabel6.setBounds(new Rectangle(21, 111, 119, 26));
jLabel7.setText("c.单击改变它的值");
jLabel7.setBounds(new Rectangle(22, 140, 118, 20));
jLabel8.setText("3.按确定按钮结束输入");
jLabel8.setBounds(new Rectangle(13, 168, 97, 21));
this.getContentPane().add(jPanel1, BorderLayout.NORTH);
jPanel1.add(jLabel1, null);
jPanel1.add(jTextField1, null);
JPanel leftpanel = new JPanel();
leftpanel.setLayout(null);
jPanel2.add(leftpanel);
leftpanel.add(jLabel2, null);
leftpanel.add(jLabel3, null);
leftpanel.add(jLabel4, null);
leftpanel.add(jLabel5, null);
leftpanel.add(jLabel6, null);
leftpanel.add(jLabel7, null);
leftpanel.add(jLabel8, null);
grapharr = new GraphArr(6);
jPanel2.add(grapharr);
jPanel2.add(new JPanel());
this.getContentPane().add(jPanel2, BorderLayout.CENTER);
this.getContentPane().add(jPanel3, BorderLayout.SOUTH);
jPanel3.add(jButton2, null);
jPanel3.add(jButton3, null);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jTextField1) {
boolean flag = false;
try {
vertexnum = Integer.parseInt(jTextField1.getText());
if (vertexnum <= 1 || vertexnum > 11) {
JOptionPane.showMessageDialog(this, "请输入1到12的整正数");
flag = true;
}
}
catch (NumberFormatException exp) {
JOptionPane.showMessageDialog(this, "请输入1到12的整正数");
flag = true;
}
if (!flag) {
grapharr.clear();
grapharr.clearArray();
grapharr.createArray(vertexnum);
this.jButton2.setEnabled(true);
this.jButton3.setEnabled(true);
}
}
if (e.getSource() == jButton2) {
array = grapharr.getArray();
this.setVisible(false);
}
if (e.getSource() == this.jButton3) {
this.setVisible(false);
}
}
public int[][] getArray() {
return array;
}
public int getVertexNum() {
return vertexnum;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?