Guest User

Untitled

a guest
Feb 11th, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.09 KB | None | 0 0
  1. public class MyTable extends JPanel implements ActionListener {
  2.  
  3.     private JTable table;
  4.  
  5.     //Выбрано все
  6.     private boolean checkAll = false;
  7.     private JButton button;
  8.     /*
  9.     * Данный метод создает JScrollPane с таблицей.
  10.     * Таблица заполняется данными из базы, относящимися к определенной стране, т.е.
  11.     * */
  12.    
  13.     // dataFromDatabase - результат выполнения запроса в базу по типу
  14.     // 'SELECT * FROM database_name WHERE country = country_name;'    
  15.     public MyTable(JTable table, ArrayList<String[]> dataFromDatabase) {
  16.  
  17.         button = new JButton("Check All");
  18.         button.setBackground(new Color(159, 197, 248));
  19.  
  20.         button.addActionListener(this);
  21.  
  22.         JPanel topPanel = new JPanel(new GridLayout(1, 0));
  23.         topPanel.add(button);
  24.  
  25.         DefaultTableModel tableModel = new CustomTableWithCheckbox();
  26.         tableModel.setColumnIdentifiers(new Object[]{"check", "№ TrMrk", "Tm.exp.date", "owner", "address", "country", "status"});
  27.  
  28.         for (int i = 0; i < dataFromDatabase.size(); i++) {
  29.             tableModel.addRow(new Object[0]);
  30.             tableModel.setValueAt(false, i, 0); //галочка
  31.             tableModel.setValueAt(dataFromDatabase.get(i)[0], i, 1); //№ документа
  32.             tableModel.setValueAt(dataFromDatabase.get(i)[1], i, 2); //Дата до которой действует документ
  33.             tableModel.setValueAt(dataFromDatabase.get(i)[2], i, 3); //Владелец
  34.             tableModel.setValueAt(dataFromDatabase.get(i)[3], i, 4); //Адрес
  35.             tableModel.setValueAt(dataFromDatabase.get(i)[4], i, 5); //Страна
  36.             tableModel.setValueAt(dataFromDatabase.get(i)[5], i, 6); //Статус: действует/не действует
  37.         }
  38.         table.setModel(tableModel);
  39.  
  40.         JScrollPane scrollPane = new JScrollPane(table);
  41.  
  42.         //table.setFillsViewportHeight(true);
  43.         scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  44.         scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
  45.  
  46.         setLayout(new BorderLayout());
  47.         add(topPanel, BorderLayout.PAGE_START);
  48.         add(scrollPane, BorderLayout.CENTER);
  49.  
  50.         this.table = table;
  51.     }
  52.  
  53.     public JTable getTable() {
  54.         return this.table;
  55.     }
  56.  
  57.     @Override
  58.     public void actionPerformed(ActionEvent ae) {
  59.         if (!checkAll){
  60.             for (int row = 0; row < table.getRowCount(); row++) {
  61.                 if (table.getValueAt(row, 6).equals("Действует")){
  62.  
  63.                     table.setValueAt(true, row, 0);
  64.                 }
  65.             }
  66.             checkAll = true;
  67.             button.setText("Uncheck All");
  68.         }else {
  69.             for (int row = 0; row < table.getRowCount(); row++) {
  70.                 table.setValueAt(false, row, 0);
  71.             }
  72.             button.setText("Check All");
  73.             checkAll = false;
  74.         }
  75.     }
  76. }
Add Comment
Please, Sign In to add comment