public class Projektni extends JFrame {
public final JTextField ime = new JTextField(10);
public final JTextField prezime = new JTextField(10);
public final JTextField index = new JTextField(10);
public DefaultListModel podaci = new DefaultListModel();
JButton imeB=new JButton("Upisi u tabelu");
public JList lista = new JList(podaci);
String kolone[] = {"ID","Name","Age"};
//prazan konstruktor gde implementiramo i definisemo dugmice,polja za upisivanje podataka i osluskivace
public Projektni()
{
DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);
String nextRowId = Integer.toString(model.getRowCount());
model.addColumn("Ime");
model.addColumn("Prezime");
model.addColumn("Indeks");
model.addRow((new Object[] {
nextRowId,
ime.getText(),
prezime.getText(),
index.getText()}
));
repaint();
JPanel pane2=new JPanel (new GridLayout(6, 7));
pane2.add(table);
pane2.setVisible(true);
ime.setPreferredSize(new Dimension(200,80));
prezime.setPreferredSize(new Dimension(200,80));
index.setPreferredSize(new Dimension(150,40));
imeB.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
String pokupiIme=ime.getText();
String pokupiPrezime=prezime.getText();
String pokupiIndex=index.getText();
}
}
);
JPanel panel=new JPanel (new GridLayout(6, 7));
panel.add(new JLabel("Ime studenta:"));
panel.add(ime);
panel.add(new JLabel("Prezime studenta:"));
panel.add(prezime);
panel.add(new JLabel("Broj indeksa studenta:"));
panel.add(index);
panel.setBackground(Color.cyan);
panel.add(imeB);
String[] seminari = {"Microsoft","MAC","Java"};
final JComboBox cek = new JComboBox(seminari);
panel.add(cek);
JButton upisibtn=new JButton("Upisi");
upisibtn.setPreferredSize(new Dimension(30,30));
JTabbedPane tab = new JTabbedPane();
getContentPane().add(tab);
tab.add("Tab1",panel);
tab.add("Tab2",pane2);
upisibtn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
try{
String p=nazivZaUnosNaziva()+" "+nazivZaUnosPrezimena()+" "+nemaIndeX()+" "+cek.getSelectedItem()+"\n";
String s=ime.getText()+" "+prezime.getText()+" "+index.getText()+" "+cek.getSelectedItem()+"\n";
Upisi.upisi(s);
}
catch(NemaNaziv|NemaIndeks|NemaPrezime ex){
JOptionPane.showMessageDialog(null, ex);
}
}
}
);
//Dugme prikazi ,koji prikazuje upisane podatke preko klase citaj.
JButton citajbtn=new JButton("Prikazi");
citajbtn.setPreferredSize(new Dimension(30,30));
citajbtn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
for(String s:Citaj.citaj())
podaci.addElement(s);
}
});
//Dodavanje komponenata na panel.
panel.add(upisibtn);
panel.add(citajbtn);
panel.add(lista);
}
//Vraca string naziva studenta,ukoliko nije upisan vraca izuzetak
public String nazivZaUnosNaziva() throws NemaNaziv {
String naziv = ime.getText();
if (naziv.equals("")) {
throw new NemaNaziv("Niste uneli naziv studenta. ");
}
return naziv;
}
//Vraca string prezime studenta,ukoliko nije upisan vraca izuzetak
public String nazivZaUnosPrezimena() throws NemaPrezime {
String prez = prezime.getText();
if (prez.equals("")) {
throw new NemaPrezime("Niste uneli prezime studenta. ");
}
return prez;
}
//Vraca string index studenta,ukoliko nije upisan vraca izuzetak
public String nemaIndeX() throws NemaIndeks {
String indeks = index.getText();
if (indeks.equals("")) {
throw new NemaIndeks("Niste unelii ndeks studenta. ");
}
return indeks;
}
//pokretacki metod
public static void main(String[] args) {
Projektni tp = new Projektni();
tp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tp.setVisible(true);
tp.setSize(600, 800);
}
}