<分区>
我是 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 图。提前致谢。