Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Miniproject;
- import javax.swing.*;
- import java.awt.event.*;
- import java.awt.*;
- import javax.swing.RowFilter;
- import javax.swing.table.DefaultTableModel;
- import javax.swing.table.TableModel;
- import javax.swing.table.TableRowSorter;
- import javax.swing.event.DocumentEvent;
- import javax.swing.event.DocumentListener;
- import javax.swing.text.Document;
- import java.awt.BorderLayout;
- import javax.swing.JFrame;
- import javax.swing.JTextField;
- public class Opgave2 extends JInternalFrame{
- static int openFrameCount = 0;
- static final int xOffset = 30, yOffset = 30;
- private Object gegevens1[][],gegevens2[][];
- private String[] kolomnamen,kolomnamen1,kolomnamen2;
- private Object[][] gegevens;
- private JButton knop1;
- private JTextField tf;
- final TableRowSorter<TableModel> sorter;
- public Opgave2() {
- super("Opgave 2." + (++openFrameCount),
- true, //resizable
- true, //closable
- true, //maximizable
- true);//iconifiable
- //...Create the GUI and put it in the window...
- //...Then set the window size or call pack...
- setSize(600,510);
- //Set the window's location.
- setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
- setVisible(true);
- Connectie con1 = new Connectie("opgavea","uitslagcodes");
- Connectie con2 = new Connectie("opgavea","wedstrijden");
- con1.maakConnectie();
- con2.maakConnectie();
- gegevens1 = con1.haalGegevensOp();
- gegevens2 = con2.haalGegevensOp();
- kolomnamen1 = con1.haalKolomNamenOp();
- kolomnamen2 = con2.haalKolomNamenOp();
- kolomnamen = new String[kolomnamen1.length + kolomnamen2.length];
- System.out.println(kolomnamen1.length + kolomnamen2.length);
- for (int k = 0; k<kolomnamen.length;k++){
- if(k<kolomnamen2.length)
- kolomnamen[k]=kolomnamen2[k];
- else
- kolomnamen[k]=kolomnamen1[k-kolomnamen2.length];
- }
- gegevens = new Object[gegevens2.length+1][gegevens1[0].length+gegevens2[0].length];
- int lengte = gegevens1[0].length+gegevens2[0].length;
- for(int j = 0; j< (gegevens2.length);j++){
- for(int i = 0; i<lengte;i++){
- if (i<gegevens2[0].length){
- gegevens[j][i]=gegevens2[j][i];}
- else
- { int ii = (i-(gegevens2[0].length));
- int overeen = Integer.parseInt(gegevens2[j][4].toString());
- gegevens[j][i]=gegevens1[overeen-1][ii];
- }
- }
- }
- JTable tabel = new JTable(gegevens, kolomnamen);
- TableModel model = new DefaultTableModel(gegevens, kolomnamen);
- setLayout(new BorderLayout());
- add(tabel.getTableHeader(), BorderLayout.PAGE_START);
- add(tabel, BorderLayout.CENTER);
- DocumentListener documentListener = new DocumentListener() {
- public void changedUpdate(DocumentEvent documentEvent) {
- String text = tf.getText();
- if (text.length() == 0) {
- sorter.setRowFilter(null);
- } else {
- sorter.setRowFilter(RowFilter.regexFilter(text,0));
- }
- }
- public void insertUpdate(DocumentEvent documentEvent) {
- String text = tf.getText();
- if (text.length() == 0) {
- sorter.setRowFilter(null);
- } else {
- sorter.setRowFilter(RowFilter.regexFilter(text,0));
- }
- }
- public void removeUpdate(DocumentEvent documentEvent) {
- String text = tf.getText();
- if (text.length() == 0) {
- sorter.setRowFilter(null);
- } else {
- sorter.setRowFilter(RowFilter.regexFilter(text,0));
- }
- }
- };
- tf = new JTextField();
- tf.requestFocus();
- tf.getDocument().addDocumentListener(documentListener);
- JPanel panel = new JPanel();
- panel.setLayout(new GridLayout(1, 2, 4 ,6));
- Label lb = new Label("filter tekst");
- panel.add(lb);
- panel.add(tf);
- add(panel, BorderLayout.SOUTH);
- sorter = new TableRowSorter<TableModel>(model);
- tabel.setRowSorter(sorter);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement