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

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

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

Листинг программы
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package tablens;
  7. import java.awt.BorderLayout;
  8. import java.awt.Desktop.Action;
  9. import java.awt.Dimension;
  10. import java.awt.EventQueue;
  11. import java.awt.event.ActionEvent;
  12. import java.awt.event.ActionListener;
  13. import java.awt.event.KeyEvent;
  14. import javax.swing.*;
  15. import javax.swing.JFrame;
  16. import javax.swing.JPanel;
  17. import javax.swing.border.EmptyBorder;
  18. import javax.swing.table.DefaultTableModel;
  19. import javax.swing.JScrollPane;
  20. import javax.swing.JButton;
  21. import javax.swing.JTable;
  22. import java.awt.event.MouseAdapter;
  23. import java.awt.event.MouseEvent;
  24.  
  25. public class start extends JFrame implements ActionListener {
  26. private JPanel contentPane;
  27. private JTable table;
  28. private DefaultTableModel model;
  29. public static void main(String[] args) {
  30. EventQueue.invokeLater(new Runnable() {
  31. @Override
  32. public void run() {
  33. try {
  34. start frame = new start();
  35. frame.setVisible(true);
  36. } catch (Exception e) {
  37. e.printStackTrace();
  38. }
  39. }
  40. });
  41. }
  42. public start() {
  43. JMenuBar menubar = new JMenuBar();
  44. JMenu menu = new JMenu("Файл");
  45. JMenuItem itm;
  46. itm = new JMenuItem(new AbstractAction("Добавить строку") {
  47. @Override
  48. public void actionPerformed(ActionEvent a) {
  49. String[] data= { null, null, null };
  50. //Добавим строку data в таблицу
  51. model.addRow(data);
  52. }
  53. });
  54. menu.add(itm);
  55. itm.addActionListener(this);
  56. itm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,
  57. ActionEvent.ALT_MASK));;
  58. JMenu dev = new JMenu("Разработчик");
  59. menu.add(new JSeparator());
  60. JMenu submenu = new JMenu("Sub");
  61. itm = new JMenuItem("Print");
  62. itm.addActionListener(this);
  63. submenu.add(itm);
  64. itm = new JMenuItem("Export");
  65. itm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,
  66. ActionEvent.ALT_MASK));
  67. itm.addActionListener(this);
  68. submenu.add(itm);
  69. menu.add(submenu);
  70. menubar.add(menu);
  71. menubar.add(dev);
  72. setJMenuBar(menubar);
  73. setTitle("Таблица");
  74. setPreferredSize(new Dimension(640, 480));
  75. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  76. setBounds(100, 100, 450, 300);
  77. contentPane = new JPanel();
  78. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  79. contentPane.setLayout(new BorderLayout(0, 0));
  80. setContentPane(contentPane);
  81. model = new DefaultTableModel(){
  82. @Override
  83. public boolean isCellEditable(int row, int column){
  84. return true;
  85. };
  86. };
  87. model.addColumn("Адрес");
  88. model.addColumn("Право cобсветнности");
  89. model.addColumn("Ф.И.О");
  90. model.addColumn("Текущие начисления");
  91. model.addColumn("Задолжность");
  92. model.addColumn("ПЕНЯ");
  93. model.addColumn("Период задолжности");
  94. model.addColumn("Судебный приказ");
  95. model.addColumn("Заявление ССП");
  96. model.addColumn("");
  97. model.addColumn("");
  98. model.addColumn("");
  99. model.addColumn("");
  100. /*
  101. Если не использовать JScrollPane тогда не будут видны
  102. заголовки столбцов нашей таблицы
  103. */
  104. JScrollPane scrollPane = new JScrollPane();
  105. contentPane.add(scrollPane, BorderLayout.CENTER);
  106. /*
  107. Создадим таблицу и передадим в качесве параметра,
  108. передадим нашу модель
  109. */
  110. table = new JTable(model);
  111. scrollPane.setViewportView(table);
  112. JPanel panel = new JPanel();
  113. contentPane.add(panel, BorderLayout.SOUTH);
  114.  
  115. JButton btnNewButton = new JButton("Добавить строку");
  116. btnNewButton.addMouseListener(new MouseAdapter() {
  117. @Override
  118. public void mouseClicked(MouseEvent arg0) {
  119. String[] data= { null, null, null };
  120. //Добавим строку data в таблицу
  121. model.addRow(data);
  122. }
  123. });
  124. JButton btnNewButton1 = new JButton("Удалить строку");
  125. btnNewButton1.addActionListener(new ActionListener(){
  126. @Override
  127. public void actionPerformed(ActionEvent event) {
  128. model.removeRow(table.getSelectedRow());
  129. }
  130. });
  131. panel.add(btnNewButton);
  132. panel.add(btnNewButton1);
  133. }
  134. private void setOpaque(boolean b) {
  135. throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  136. }
  137. @Override
  138. public void actionPerformed(ActionEvent arg0) {
  139. System.out.println(arg0.getActionCommand());
  140. }
  141. }
Нужен код фильтра,чтобы найти определенный текст в таблице.Заранее спасибо.

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут