Mam problem,jak odwołać się do arraylisty utworzonej w innej klasie?
Oto kody do klas.
Klasa z arraylist:
import javax.swing.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class Czasopismo extends JFrame implements ActionListener
{
private JTextField nazwaW;
private JTextField nazwaCz;
private JTextField tematyka;
private JTextField czestotliwosc;
private JTextArea opis;
private JDialogokno;
private JPanel panel,panel2;
private JLabel etykieta;
private JLabel etykieta1;
private JLabel etykieta2;
private JLabel etykieta3;
private JButtonprzyciskOk;
private JButtonprzyciskAnuluj;
private JPanel panelPrzyciskow;
private String czasopisma;
private DefaultListModel model = new DefaultListModel();
private final JList lista = new JList(model);
private List<String> Czasopisma = new ArrayList<String>();
public Czasopismo()
{
setSize(400,300);
setTitle("Dodaj czasopismo.");
panel = new JPanel();
panel2 = new JPanel();
panel.setLayout(new GridLayout(5,2));
etykieta= new JLabel("Nazwa Czasopisma: ");
nazwaCz=new JTextField("");
etykieta1= new JLabel("Nazwa Wydawnictwa: ");
nazwaW=new JTextField("");
etykieta2=new JLabel("Tematyka: ");
tematyka=new JTextField("");
etykieta3=new JLabel("Czestotliwosc wydawania: ");
czestotliwosc=new JTextField("");
opis = new JTextArea("");
opis.setFont(new Font("Arial", Font.BOLD, 16));
opis.setLineWrap(true);
opis.setWrapStyleWord(true);
JScrollPane areaScrollPane = new JScrollPane(opis);
areaScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
areaScrollPane.setPreferredSize(new Dimension(200, 200));
panel.add(etykieta);
panel.add(nazwaCz);
panel.add(etykieta1);
panel.add(nazwaW);
panel.add(etykieta2);
panel.add(tematyka);
panel.add(etykieta3);
panel.add(czestotliwosc);
panel2.add(opis);
add(panel,BorderLayout.CENTER);
add(panel2,BorderLayout.SOUTH);
przyciskOk = new JButton("Dodaj");
przyciskOk.addActionListener(this);
przyciskAnuluj = new JButton("Zamknij");
przyciskAnuluj.addActionListener(this);
panelPrzyciskow = new JPanel();
panelPrzyciskow.add(przyciskOk);
panelPrzyciskow.add(przyciskAnuluj);
add(panelPrzyciskow, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent ev)
{
Object z =ev.getSource();
if(z==przyciskAnuluj)
setVisible(false);
else if(z==przyciskOk)
{
try
{
PrintWriter zapis = new PrintWriter(new BufferedWriter(new FileWriter("log.txt",true)));
int odp= JOptionPane.showConfirmDialog(null,"Czy na pewno dodac czasopismo?","komunikat",JOptionPane.YES_NO_OPTION);
if(odp==JOptionPane.YES_OPTION)
{
czasopisma=nazwaCz.getText();
zapis.println(etykieta.getText()+czasopisma);
Czasopisma.add(czasopisma);
model.addElement(Czasopisma);
System.out.println(Czasopisma);
zapis.println(etykieta1.getText()+nazwaW.getText());
zapis.println(etykieta2.getText()+tematyka.getText());
zapis.println(etykieta3.getText()+czestotliwosc.getText());
zapis.println();
zapis.close();
}
else if(odp==JOptionPane.NO_OPTION)
JOptionPane.showMessageDialog(null,"Anulowano przez uzytkownika");
}
catch ( Exception ew )
{
ew.printStackTrace();
}
}
}
}
I kod klasy, w której się chcę odwołać do arraylisty:
import javax.swing.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class wyswietL extends JFrame implements ActionListener
{
private JRadioButton wCzasopisma,wWydawnictwa;
private ButtonGroup grupa;
private JPanel panelPrzyciskow;
private DefaultListModel model = new DefaultListModel();
private final JList lista = new JList(model);
private JScrollPane panelist;
public wyswietL()
{
setSize(400,300);
setTitle("Wyswietl");
grupa=new ButtonGroup();
wCzasopisma=new JRadioButton("Wyswietl Czasopisma",true);
wCzasopisma.addActionListener(this);
wWydawnictwa=new JRadioButton("Wyswietl Wydawnictwa");
wWydawnictwa.addActionListener(this);
grupa.add(wCzasopisma);
grupa.add(wWydawnictwa);
panelPrzyciskow = new JPanel();
panelPrzyciskow.add(wCzasopisma);
panelPrzyciskow.add(wWydawnictwa);
add(panelPrzyciskow, BorderLayout.NORTH);
lista.setVisibleRowCount(9);
lista.setPrototypeCellValue("Liczba nr.1 - 000");
panelist = new JScrollPane();
panelist.setViewportView(lista);
add(lista, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e)
{
Object z=e.getSource();
if(wCzasopisma.isSelected())
{
}
}
}