import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TabeliteRakendus extends JApplet implements MouseListener, MouseMotionListener, ActionListener{ TabelitePaigutus paigutus=new TabelitePaigutus(); JTextField tfPealkiri=new JTextField(); JTextArea tfTulbad=new JTextArea(5, 50); JButton salvestusnupp=new JButton("Salvesta"); JButton lisamisnupp=new JButton("Lisa"); JButton kustutusnupp=new JButton("Kustuta"); JButton sqlnupp=new JButton("Tabeli SQL"); JPanel p1=new JPanel(new BorderLayout()); Andmetabel valitud=null; int hiirValitulX, hiirValitulY; JMenuBar menyyriba=new JMenuBar(); JMenu haldusmenyy=new JMenu("Halda"); JMenuItem menyyLisa=new JMenuItem("Lisa"); JMenuItem menyyTyhjenda=new JMenuItem("Tyhjenda"); public TabeliteRakendus(){ add(paigutus); menyyriba.add(haldusmenyy); haldusmenyy.add(menyyLisa); haldusmenyy.add(menyyTyhjenda); setJMenuBar(menyyriba); paigutus.addMouseListener(this); paigutus.addMouseMotionListener(this); salvestusnupp.addActionListener(this); lisamisnupp.addActionListener(this); menyyLisa.addActionListener(this); menyyTyhjenda.addActionListener(this); kustutusnupp.addActionListener(this); sqlnupp.addActionListener(this); JPanel p2=new JPanel(new BorderLayout()); JPanel nupupaneel=new JPanel(new GridLayout(1, 3)); p2.add(tfPealkiri, BorderLayout.CENTER); nupupaneel.add(salvestusnupp); nupupaneel.add(lisamisnupp); nupupaneel.add(kustutusnupp); nupupaneel.add(sqlnupp); p2.add(nupupaneel, BorderLayout.EAST); p1.add(p2, BorderLayout.NORTH); p1.add(tfTulbad, BorderLayout.SOUTH); add(p1, BorderLayout.SOUTH); } //Hoolitsege, et tekstiväljades muudetud andmed //jõuaksid ka joonisele tagasi. public void actionPerformed(ActionEvent e){ if(valitud!=null){ if(e.getSource()==salvestusnupp){ valitud.muudaPealkiri(tfPealkiri.getText()); valitud.muudaTulbadTekstina(tfTulbad.getText()); } if(e.getSource()==kustutusnupp){ paigutus.kustutaAndmetabel(valitud.kysiPealkiri()); } if(e.getSource()==sqlnupp){ tfTulbad.setText(valitud.kysiSQL()); } } //Pange tööle ka lisamisnupp //Dubleerige või asendage nupud menüüelementidega //Lisage menüükäsklus tekstiväljade tühjendamiseks if(e.getSource()==lisamisnupp || e.getSource()==menyyLisa){ paigutus.lisaAndmetabel( tfPealkiri.getText(), tfTulbad.getText()); } if(e.getSource()==menyyTyhjenda){ tfPealkiri.setText(""); tfTulbad.setText(""); } paigutus.repaint(); } public void mousePressed(MouseEvent e){ valitud=paigutus.leiaTabelKohal( e.getX(), e.getY()); if(valitud!=null){ hiirValitulX=e.getX()-valitud.kysiX(); hiirValitulY=e.getY()-valitud.kysiY(); tfPealkiri.setText(valitud.kysiPealkiri()); tfTulbad.setText(valitud.kysiTulbadTekstina()); } } public void mouseReleased(MouseEvent e){ liigutaValitudTabel(e); } void liigutaValitudTabel(MouseEvent e){ if(valitud!=null){ valitud.muudaAsukoht( e.getX()-hiirValitulX, e.getY()-hiirValitulY); paigutus.repaint(); } } public void mouseMoved(MouseEvent e){} public void mouseDragged(MouseEvent e){ liigutaValitudTabel(e); } public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public static void main(String[] arg){ JFrame f=new JFrame("Tabelid"); f.getContentPane().add(new TabeliteRakendus()); f.setSize(400, 300); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }