Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MyTable extends JPanel implements ActionListener {
- private JTable table;
- //Выбрано все
- private boolean checkAll = false;
- private JButton button;
- /*
- * Данный метод создает JScrollPane с таблицей.
- * Таблица заполняется данными из базы, относящимися к определенной стране, т.е.
- * */
- // dataFromDatabase - результат выполнения запроса в базу по типу
- // 'SELECT * FROM database_name WHERE country = country_name;'
- public MyTable(JTable table, ArrayList<String[]> dataFromDatabase) {
- button = new JButton("Check All");
- button.setBackground(new Color(159, 197, 248));
- button.addActionListener(this);
- JPanel topPanel = new JPanel(new GridLayout(1, 0));
- topPanel.add(button);
- DefaultTableModel tableModel = new CustomTableWithCheckbox();
- tableModel.setColumnIdentifiers(new Object[]{"check", "№ TrMrk", "Tm.exp.date", "owner", "address", "country", "status"});
- for (int i = 0; i < dataFromDatabase.size(); i++) {
- tableModel.addRow(new Object[0]);
- tableModel.setValueAt(false, i, 0); //галочка
- tableModel.setValueAt(dataFromDatabase.get(i)[0], i, 1); //№ документа
- tableModel.setValueAt(dataFromDatabase.get(i)[1], i, 2); //Дата до которой действует документ
- tableModel.setValueAt(dataFromDatabase.get(i)[2], i, 3); //Владелец
- tableModel.setValueAt(dataFromDatabase.get(i)[3], i, 4); //Адрес
- tableModel.setValueAt(dataFromDatabase.get(i)[4], i, 5); //Страна
- tableModel.setValueAt(dataFromDatabase.get(i)[5], i, 6); //Статус: действует/не действует
- }
- table.setModel(tableModel);
- JScrollPane scrollPane = new JScrollPane(table);
- //table.setFillsViewportHeight(true);
- scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
- scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
- setLayout(new BorderLayout());
- add(topPanel, BorderLayout.PAGE_START);
- add(scrollPane, BorderLayout.CENTER);
- this.table = table;
- }
- public JTable getTable() {
- return this.table;
- }
- @Override
- public void actionPerformed(ActionEvent ae) {
- if (!checkAll){
- for (int row = 0; row < table.getRowCount(); row++) {
- if (table.getValueAt(row, 6).equals("Действует")){
- table.setValueAt(true, row, 0);
- }
- }
- checkAll = true;
- button.setText("Uncheck All");
- }else {
- for (int row = 0; row < table.getRowCount(); row++) {
- table.setValueAt(false, row, 0);
- }
- button.setText("Check All");
- checkAll = false;
- }
- }
- }
Add Comment
Please, Sign In to add comment