Нужен код фильтра для JTable - Java

Узнай цену своей работы

Формулировка задачи:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package tablens;
import java.awt.BorderLayout;  
import java.awt.Desktop.Action;
import java.awt.Dimension;
import java.awt.EventQueue;  
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.*;
import javax.swing.JFrame;  
import javax.swing.JPanel;  
import javax.swing.border.EmptyBorder;  
import javax.swing.table.DefaultTableModel;  
import javax.swing.JScrollPane;  
import javax.swing.JButton;  
import javax.swing.JTable;  
import java.awt.event.MouseAdapter;  
import java.awt.event.MouseEvent;  

public class start extends JFrame implements ActionListener {  
 
 private JPanel contentPane;  
 private JTable table;  
 private DefaultTableModel model;  
  
 public static void main(String[] args) {
  EventQueue.invokeLater(new Runnable() {  
   @Override
   public void run() {  
    try {  
     start frame = new start();  
     frame.setVisible(true);  
    } catch (Exception e) {  
     e.printStackTrace();  
    }  
   }  
  });  
 }
 public start() {
  JMenuBar menubar = new JMenuBar();
   JMenu menu = new JMenu("Файл");
 
   JMenuItem itm;
     itm = new JMenuItem(new AbstractAction("Добавить строку") {
         @Override
         public void actionPerformed(ActionEvent a) {
             String[] data= { null, null, null };
//Добавим строку data в таблицу
model.addRow(data);
         }
     });
   menu.add(itm);
   itm.addActionListener(this);
   itm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,
        ActionEvent.ALT_MASK));;
   JMenu dev = new JMenu("Разработчик");
   menu.add(new JSeparator());
   
   JMenu submenu = new JMenu("Sub");
   itm = new JMenuItem("Print");
   itm.addActionListener(this);
   
   submenu.add(itm);
   
   itm = new JMenuItem("Export");
   itm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,
        ActionEvent.ALT_MASK));
   itm.addActionListener(this);
   submenu.add(itm);
   menu.add(submenu);
   menubar.add(menu);
   menubar.add(dev);
   setJMenuBar(menubar);
   setTitle("Таблица");
  setPreferredSize(new Dimension(640, 480));
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setBounds(100, 100, 450, 300);  
  contentPane = new JPanel();  
  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));  
  contentPane.setLayout(new BorderLayout(0, 0));  
  setContentPane(contentPane);
  model = new DefaultTableModel(){  
   @Override  
   public boolean isCellEditable(int row, int column){  
    return true;  
   };     
  };  
  model.addColumn("Адрес");  
  model.addColumn("Право cобсветнности");  
  model.addColumn("Ф.И.О");
  model.addColumn("Текущие начисления");
  model.addColumn("Задолжность");
  model.addColumn("ПЕНЯ");
  model.addColumn("Период задолжности");
  model.addColumn("Судебный приказ");
  model.addColumn("Заявление ССП");
  model.addColumn("");
  model.addColumn("");
  model.addColumn("");
  model.addColumn("");
                  
/* 
Если не использовать JScrollPane тогда не будут видны  
заголовки столбцов нашей таблицы 
*/  
  JScrollPane scrollPane = new JScrollPane();  
  contentPane.add(scrollPane, BorderLayout.CENTER);  
    
/* 
Создадим таблицу и передадим в качесве параметра, 
передадим нашу модель   
*/  
  table = new JTable(model);  
  scrollPane.setViewportView(table);  
    
  JPanel panel = new JPanel();  
  contentPane.add(panel, BorderLayout.SOUTH); 

  JButton btnNewButton = new JButton("Добавить строку"); 
  btnNewButton.addMouseListener(new MouseAdapter() {  
   @Override  
   public void mouseClicked(MouseEvent arg0) {  
   String[] data= { null, null, null };  
//Добавим строку data в таблицу   
   model.addRow(data);
   }  
  });
  JButton btnNewButton1 = new JButton("Удалить строку");
  btnNewButton1.addActionListener(new ActionListener(){
   @Override
   public void actionPerformed(ActionEvent event) {
        model.removeRow(table.getSelectedRow());
      }  
  });  
  panel.add(btnNewButton);
  panel.add(btnNewButton1);  
 }  
 
    private void setOpaque(boolean b) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public void actionPerformed(ActionEvent arg0) {
        System.out.println(arg0.getActionCommand());
    }
  
}
Нужен код фильтра,чтобы найти определенный текст в таблице.Заранее спасибо.

Решение задачи: «Нужен код фильтра для JTable»

textual
Листинг программы
SELECT * FROM <TABLE Name> WHERE <Condition1> AND ... AND <ConditionN>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5