Нужен код фильтра для 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>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д