Witam, niedawno zacząłem naukę javy napisałem kilka prostych programów ten służy do rejestracji pacjentów. Podajemy dane i program dodaje pacjenta do listy. Moja prośba jest następująca, jako że chce pisać w miarę przejrzysty kod proszę o ocenę mojej pracy nazywania zmiennych, używania klas itp chętnie przyjmę każdą krytyczną uwagę
pozdrawiam
import java.awt.Event;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Register {
private static ArrayList<Patient> list = new ArrayList<>();
public static void main(String[] args) {
MyFrame frame = new MyFrame("rejestracja");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static boolean addPatient(String aName,String aSName,int aPesel,int aDay,int aMonth,int aYear,String aTime,boolean aFirstTime)
{
list.add(new Patient(aName,aSName,aPesel,aDay,aMonth,aYear,aTime,aFirstTime));
return true;
}
}
class Person
{
private String name;
private String sName;
public Person(String aName,String aSName)
{
this.name=aName;
this.sName=aSName;
}
public String getName()
{
return this.name;
}
public String getSName()
{
return this.sName;
}
}
class MyDate
{
private int day;
private int month;
private int year;
private String Time;
public MyDate(int aDay,int aMonth,int aYear,String aTime)
{
this.day=aDay;
this.month = aMonth;
this.year = aYear;
this.Time = aTime;
}
public String getDate()
{
return this.day + " " + this.month + " " + this.year + " " + this.Time;
}
}
class Patient extends Person
{
private int pesel;
private MyDate date;
private boolean firstTime;
public Patient(String aName,String aSName,int aPesel,int aDay,int aMonth,int aYear,String aTime,boolean aFirstTime)
{
super(aName,aSName);
this.pesel = aPesel;
this.firstTime = aFirstTime;
date = new MyDate(aDay,aMonth,aYear,aTime);
}
public String getInfo()
{
return getName() + " " + getSName() + " " + this.pesel + date.getDate() + " pierwszy raz: " + this.firstTime;
}
}
class MyFrame extends JFrame implements ActionListener
{
private final int DEFAULT_HEIGHT=1000,DEFAULT_WIDTH=1800;
private MyLabel nameLabel,snameLabel,peselLabel,dayLabel,monthLabel,yearLabel,timeLabel,firstTimeLabel;
private MyTextField nameField,snameField,peselField,dayField,monthField,yearField,timeField;
private MyCheckBox firstTimeBox;
private MyButton registerButton;
public MyFrame(String aName)
{
super(aName);
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
setLayout(null);
nameField = new MyTextField(150,10);
add(nameField);
snameField = new MyTextField(150,40);
add(snameField);
peselField = new MyTextField(150,70);
add(peselField);
dayField = new MyTextField(150,100);
add(dayField);
monthField = new MyTextField(150,130);
add(monthField);
yearField = new MyTextField(150,160);
add(yearField);
timeField = new MyTextField(150,190);
add(timeField);
nameLabel = new MyLabel("imię",10,10);
add(nameLabel);
snameLabel = new MyLabel("nazwisko",10,40);
add(snameLabel);
peselLabel = new MyLabel("pesel",10,70);
add(peselLabel);
dayLabel = new MyLabel("dzien",10,100);
add(dayLabel);
monthLabel = new MyLabel("miesiąc",10,130);
add(monthLabel);
yearLabel = new MyLabel("rok",10,160);
add(yearLabel);
timeLabel = new MyLabel("godzina",10,190);
add(timeLabel);
firstTimeLabel = new MyLabel("pierwszy raz",10,220);
add(firstTimeLabel);
firstTimeBox = new MyCheckBox(170, 220);
add(firstTimeBox);
registerButton = new MyButton("rejestruj",400,300);
add(registerButton);
registerButton.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String name = nameField.getText();
String sname = snameField.getText();
int pesel = Integer.parseInt(peselField.getText());
String time = timeField.getText();
boolean firstTime = firstTimeBox.isSelected();
int day = Integer.parseInt(dayField.getText());
int month = Integer.parseInt(monthField.getText());
int year = Integer.parseInt(yearField.getText());
Register.addPatient(name, sname, pesel, day, month, year, time, firstTime);
}
}
class MyLabel extends JLabel
{
private final int DEFAULT_HEIGHT=30,DEFAULT_WIDTH=150;
public MyLabel(String name,int pozx,int pozy)
{
super(name);
setFont(new Font("Arial",Font.PLAIN,25));
setBounds(pozx,pozy,DEFAULT_WIDTH,DEFAULT_HEIGHT);
}
}
class MyTextField extends JTextField
{
private final int DEFAULT_HEIGHT=30,DEFAULT_WIDTH=250;
public MyTextField(int pozx,int pozy)
{
super();
setFont(new Font("Arial",Font.PLAIN,25));
setBounds(pozx,pozy,DEFAULT_WIDTH,DEFAULT_HEIGHT);
}
}
class MyCheckBox extends JCheckBox
{
private final int DEFAULT_HEIGHT=40,DEFAULT_WIDTH=40;
public MyCheckBox(int pozx,int pozy)
{
super();
setBounds(pozx,pozy,DEFAULT_WIDTH,DEFAULT_HEIGHT);
}
}
class MyButton extends JButton
{
private final int DEFAULT_HEIGHT=40,DEFAULT_WIDTH=150;
public MyButton(String name,int pozx,int pozy)
{
super(name);
setBounds(pozx,pozy,DEFAULT_WIDTH,DEFAULT_HEIGHT);
}
}