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 + -
显示快捷键?