Помогите исправить код. Нужно что-бы при вызове конструктора First в те массивы что там, добавлялись входные данные и там и сохранялись
Проблема с кодом. Нужно что-бы при вызове конструктора First в те массивы что там, добавлялись входные данные и там и сохранялись. До сегодняшнего времени я думала что он так и работает, но при вызове методов: serchCity, serchSex или serchAbonent он должен был сравнивать данные и при вызове в ActionListener в JOptionPane.showMessageDialog должен выводить данные которые подошли по сравнению, а он почему-то этого не делает. Код:
package mainkursova;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.JPanel;
class First {
static String[] mist, telefone, poll, all;
static int i = 0;
First(){
}
First(String p, String im, String b, String m, String a, String t, String pol){
mist = new String[100];
telefone = new String[100];
poll = new String[100];
all = new String[100];
i++;
mist[i] = m;
telefone[i] = t;
poll[i] = pol;
all[i] = (p+" "+im+" "+b+" "+m+" "+a+" "+t+" "+pol);
}
public String[] serchCity(String n){
int h;
h = 0;
String[] endRezult = new String[100];
for(int b = 0; b< mist.length; b++){
if (n==mist[b]){
endRezult[h] = all[b];
}
}
return endRezult;
}
public String[] serchSex(String n){
int h;
h = 0;
String[] endRezult = new String[100];
for(int b = 0; b< poll.length; b++){
if (n==poll[b]){
endRezult[h] = poll[b];
}
}
return endRezult;
}
public String[] serchAbonent(String n){
int h;
h = 0;
String[] endRezult = new String[100];
for(int b = 0; b< telefone.length; b++){
if (n == telefone[b]){
endRezult[h] = all[b];
}
}
return endRezult;
}
public static void main(String[] args) {
JFrame frame = new JFrame();
JFrame frame2 = new JFrame();
frame.setTitle("Мій Телефонний Довідник");
frame2.setTitle("Список Абонентів");
frame.setSize(500, 400);
frame.setLocation(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame2.setSize(500, 400);
frame2.setLocation(500, 500);
frame2.setVisible(false);
JPanel panel = new JPanel();
frame.add(panel);
JMenuBar mb = new JMenuBar();
frame.setJMenuBar(mb);
JMenu serch = new JMenu("Пошук за..");
JMenuItem serchSex = new JMenuItem("статтю");
JMenuItem serchCity = new JMenuItem("містом");
JMenuItem serchCode = new JMenuItem("кодом оператора");
serch.add(serchSex);
serch.add(serchCity);
serch.add(serchCode);
mb.add(serch);
JMenu serch2 = new JMenu("Робота з записами");
JMenuItem show = new JMenuItem("показати");
JMenuItem edit = new JMenuItem("дозволити редагувати");
JMenuItem delete = new JMenuItem("видалити всю інформацію");
serch2.add(show);
serch2.add(edit);
serch2.add(delete);
mb.add(serch2);
JLabel label1 = new JLabel("прізвище");
JLabel label2 = new JLabel("ім’я");
JLabel label3 = new JLabel("по батькові");
JLabel label4 = new JLabel("місто");
JLabel label5 = new JLabel("домашня адреса");
JLabel label6 = new JLabel("стать (м/ж)");
JLabel label = new JLabel("телефон");
panel.add(label1);
panel.add(label2);
panel.add(label3);
panel.add(label4);
panel.add(label5);
panel.add(label6);
panel.add(label);
JTextField prizvyshe = new JTextField(8);
JTextField imya = new JTextField(8);
JTextField pobatkovi = new JTextField(8);
JTextField misto = new JTextField(8);
JTextField adresa = new JTextField(8);
JTextField telefon = new JTextField(8);
JTextField POL = new JTextField(8);
JTextArea text = new JTextArea();
text.setEnabled(false);
panel.add(prizvyshe);
panel.add(imya);
panel.add(pobatkovi);
panel.add(misto);
panel.add(adresa);
frame2.add(text);
panel.add(POL);
panel.add(telefon);
JButton mainprofesor = new JButton("добавити в довідник");
panel.add(mainprofesor);
mainprofesor.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
String h = text.getText();
text.setText(h+'\n'+prizvyshe.getText()+" "+imya.getText()+" "+pobatkovi.getText()+" "+misto.getText()+" "+adresa.getText()+" "+POL.getText()+" "+telefon.getText()+'\n');
new First(prizvyshe.getText(),imya.getText(),pobatkovi.getText(),misto.getText(),adresa.getText(),telefon.getText(),POL.getText());
prizvyshe.setText("");
imya.setText("");
pobatkovi.setText("");
misto.setText("");
adresa.setText("");
telefon.setText("");
POL.setText("");
}
});
show.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
frame2.setVisible(true);
}
});
edit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
text.setEnabled(true);
}
});
delete.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
text.setText("");
}
});
serchSex.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
First y = new First();
String rezult = JOptionPane.showInputDialog(frame, "<html><h2>Введіть пол");
JOptionPane.showMessageDialog(frame, y.serchSex(rezult));
}
});
serchCity.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
First y = new First();
String rezult = JOptionPane.showInputDialog(frame, "<html><h2>Введіть місто");
JOptionPane.showMessageDialog(frame, y.serchCity(rezult));
}
});
serchCode.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
First y = new First();
String rezult = JOptionPane.showInputDialog(frame, "<html><h2>Введіть телефон");
JOptionPane.showMessageDialog(frame, y.serchAbonent(rezult));
}
});
panel.setVisible(true);
}
}
Помогите исправить проблему, может там нужно что-то добавить или отнять, изменить. Если нужна будет ещё дополнительная информация, скажите. Буду очень благодарна за помощь)