Advertisement
Zupalicious

Java: Opgave 2 Miniproject

May 30th, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.72 KB | None | 0 0
  1. package Miniproject;
  2. import javax.swing.*;
  3.  
  4. import java.awt.event.*;
  5. import java.awt.*;
  6. import javax.swing.RowFilter;
  7. import javax.swing.table.DefaultTableModel;
  8. import javax.swing.table.TableModel;
  9. import javax.swing.table.TableRowSorter;
  10. import javax.swing.event.DocumentEvent;
  11. import javax.swing.event.DocumentListener;
  12. import javax.swing.text.Document;
  13.  
  14.  
  15. import java.awt.BorderLayout;
  16.  
  17. import javax.swing.JFrame;
  18. import javax.swing.JTextField;
  19.  
  20. public class Opgave2 extends JInternalFrame{
  21. static int openFrameCount = 0;
  22. static final int xOffset = 30, yOffset = 30;
  23. private Object gegevens1[][],gegevens2[][];
  24. private String[] kolomnamen,kolomnamen1,kolomnamen2;
  25. private Object[][] gegevens;
  26. private JButton knop1;
  27. private JTextField tf;
  28. final TableRowSorter<TableModel> sorter;
  29.  
  30.  
  31. public Opgave2() {
  32. super("Opgave 2." + (++openFrameCount),
  33. true, //resizable
  34. true, //closable
  35. true, //maximizable
  36. true);//iconifiable
  37.  
  38. //...Create the GUI and put it in the window...
  39.  
  40.  
  41. //...Then set the window size or call pack...
  42. setSize(600,510);
  43.  
  44. //Set the window's location.
  45. setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
  46.  
  47. setVisible(true);
  48.  
  49. Connectie con1 = new Connectie("opgavea","uitslagcodes");
  50. Connectie con2 = new Connectie("opgavea","wedstrijden");
  51.  
  52. con1.maakConnectie();
  53. con2.maakConnectie();
  54.  
  55. gegevens1 = con1.haalGegevensOp();
  56. gegevens2 = con2.haalGegevensOp();
  57. kolomnamen1 = con1.haalKolomNamenOp();
  58. kolomnamen2 = con2.haalKolomNamenOp();
  59.  
  60. kolomnamen = new String[kolomnamen1.length + kolomnamen2.length];
  61. System.out.println(kolomnamen1.length + kolomnamen2.length);
  62.  
  63.  
  64. for (int k = 0; k<kolomnamen.length;k++){
  65. if(k<kolomnamen2.length)
  66. kolomnamen[k]=kolomnamen2[k];
  67. else
  68. kolomnamen[k]=kolomnamen1[k-kolomnamen2.length];
  69. }
  70.  
  71.  
  72.  
  73.  
  74. gegevens = new Object[gegevens2.length+1][gegevens1[0].length+gegevens2[0].length];
  75. int lengte = gegevens1[0].length+gegevens2[0].length;
  76.  
  77.  
  78. for(int j = 0; j< (gegevens2.length);j++){
  79.  
  80.  
  81. for(int i = 0; i<lengte;i++){
  82.  
  83. if (i<gegevens2[0].length){
  84.  
  85.  
  86. gegevens[j][i]=gegevens2[j][i];}
  87.  
  88. else
  89. { int ii = (i-(gegevens2[0].length));
  90.  
  91.  
  92. int overeen = Integer.parseInt(gegevens2[j][4].toString());
  93.  
  94.  
  95. gegevens[j][i]=gegevens1[overeen-1][ii];
  96.  
  97. }
  98.  
  99.  
  100. }
  101. }
  102.  
  103.  
  104. JTable tabel = new JTable(gegevens, kolomnamen);
  105. TableModel model = new DefaultTableModel(gegevens, kolomnamen);
  106.  
  107. setLayout(new BorderLayout());
  108. add(tabel.getTableHeader(), BorderLayout.PAGE_START);
  109. add(tabel, BorderLayout.CENTER);
  110.  
  111.  
  112. DocumentListener documentListener = new DocumentListener() {
  113. public void changedUpdate(DocumentEvent documentEvent) {
  114. String text = tf.getText();
  115. if (text.length() == 0) {
  116. sorter.setRowFilter(null);
  117. } else {
  118. sorter.setRowFilter(RowFilter.regexFilter(text,0));
  119. }
  120. }
  121. public void insertUpdate(DocumentEvent documentEvent) {
  122. String text = tf.getText();
  123. if (text.length() == 0) {
  124. sorter.setRowFilter(null);
  125. } else {
  126. sorter.setRowFilter(RowFilter.regexFilter(text,0));
  127. }
  128. }
  129. public void removeUpdate(DocumentEvent documentEvent) {
  130. String text = tf.getText();
  131. if (text.length() == 0) {
  132. sorter.setRowFilter(null);
  133. } else {
  134. sorter.setRowFilter(RowFilter.regexFilter(text,0));
  135. }
  136. }
  137.  
  138. };
  139.  
  140.  
  141. tf = new JTextField();
  142. tf.requestFocus();
  143. tf.getDocument().addDocumentListener(documentListener);
  144.  
  145.  
  146. JPanel panel = new JPanel();
  147.  
  148.  
  149. panel.setLayout(new GridLayout(1, 2, 4 ,6));
  150.  
  151.  
  152.  
  153.  
  154.  
  155. Label lb = new Label("filter tekst");
  156. panel.add(lb);
  157. panel.add(tf);
  158. add(panel, BorderLayout.SOUTH);
  159.  
  160. sorter = new TableRowSorter<TableModel>(model);
  161. tabel.setRowSorter(sorter);
  162.  
  163.  
  164.  
  165. }
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement