java - 创建 UML 类图?

标签 java uml

<分区>

我是 UML 类图的新手。有人可以向我解释一下我将如何使用这段 Java 代码制作一个代码吗?我一直在阅读有关 UML 类图的信息,但由于所使用的示例,我无法理解它。所以我想知道有没有人能告诉我如何用我自己的代码制作 UML 类图。

package UserName;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class UserName extends JFrame implements ActionListener { 

    JTextField fname = new JTextField(); 
    JTextField lname = new JTextField();
    JTextField uname = new JTextField(); 
    JTextField email = new JTextField(); 
    JTextArea dataArea = new JTextArea(20, 50); 
    JButton save = new JButton("Save"); 


    Student student[] = new Student[20];
    int count = 0; 


    public UserName() {
        this.setLayout(new BorderLayout()); 
        JPanel fieldPanel = new JPanel();
        fieldPanel.setLayout(new GridLayout(2, 4)); 
        fieldPanel.add(new JLabel("Firstname"));
        fieldPanel.add(fname);
        fieldPanel.add(new JLabel("Username")); 
        fieldPanel.add(uname);
        fieldPanel.add(new JLabel("Lastname")); 
        fieldPanel.add(lname); 
        fieldPanel.add(new JLabel("Email")); 
        fieldPanel.add(email); 
        email.setEnabled(false); 
        uname.setEnabled(false); 
        email.setDisabledTextColor(Color.BLACK); 

        uname.setDisabledTextColor(Color.BLACK);

        this.add(fieldPanel, BorderLayout.NORTH); 
        this.add(new JScrollPane(dataArea), BorderLayout.CENTER);
        this.add(save, BorderLayout.SOUTH);
        save.addActionListener(this);
    }

    public static void main(String[] args) {
        UserName namn = new UserName(); 
        namn.pack();
        namn.setVisible(true); 
        namn.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        }


    @Override
    public void actionPerformed(ActionEvent ae) {
        if (count == 20) { 
            JOptionPane.showMessageDialog(null, "There are 20 students!"); 
            return;
        }
        Student s = new Student();  
        s.fName = fname.getText(); 
        s.eName = lname.getText(); 
        Calendar cal = Calendar.getInstance(); 
        int iYear = cal.get(Calendar.YEAR);
        String year = (iYear + "").substring(2);
        s.Uname = "a" + year + s.fName.substring(0, 3).toLowerCase() + s.eName.substring(0, 3).toLowerCase();
        s.eMail = s.Uname + "@ltu.com";
        student[count] = s; 
        count++; 
        dataArea.setText("");
        for (int i = 0; i < count; i++) { 
            dataArea.append(student[i].toString() + "\n");
        }

        uname.setText(s.Uname); 
        email.setText(s.eMail); 
    }
}

class Student { 

    String fName; 
    String eName; 
    String Uname; 
    String eMail; 


    @Override
    public String toString() { 
        return "Firstname: " + fName + " Lastname: " + eName + " Username: " + Uname + ", Email: " + eMail;
    }

}

我还想知道应该使用什么软件来创建 UML 图。提前致谢。

最佳答案

ArgoUML (http://argouml.tigris.org/) 是您可以使用的一款很棒的免费软件。这将允许您输入所有类、变量和方法以及类之间的关系以生成 UML 类图。

在尝试使用 ArgoUML 之前,您必须首先了解 UML 类图的工作原理以及 UML 的显示方式。但是,使用 ArgoUML 应该可以帮助您理解代码和图表之间发生的转换。

在您的例子中,它将是一个非常简单的由两个类组成的 UML 类图。只需在 ArgoUML 中创建类,开始添加变量和方法,它很快就会有意义(我希望!)。

关于java - 创建 UML 类图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20574786/

相关文章:

java - Android 将相机图像加载为位图

java - 基于逻辑构造对象类型——这可以做到吗?

java - Android Studio变黑并卡住

class - UML中的类和分类器有什么区别

java - 如何下载和编译SwingX

Java BufferedImage 未加载

维西奥 2003 : UML class diagrams - abstract class

java - 如何在 Java 程序中使用 «extend»?

database - 是否可以将类图转换为关系数据库图?

oop - 披萨建模