SHARE
TWEET

Untitled

a guest May 19th, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 clientapp;
  7.  
  8. import java.awt.BorderLayout;
  9. import java.awt.event.ActionEvent;
  10. import java.awt.event.ActionListener;
  11. import javax.swing.JButton;
  12. import javax.swing.JFrame;
  13. import javax.swing.JPanel;
  14. import javax.swing.JScrollPane;
  15. import javax.swing.JTable;
  16.  
  17. public class Okno extends JFrame implements ActionListener {
  18.  
  19.     // переменная
  20.     JTable table;
  21.  
  22.     //
  23.     public Okno() {
  24.         setTitle("Поступление товаров");
  25.         setBounds(10, 10, 800, 600);
  26.         // добавляем созданную панель в главное окно!
  27.         getContentPane().add(createPanel());
  28.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  29.         setVisible(true);
  30.     }
  31.  
  32.     //
  33.     public JPanel createPanel() {
  34.         JPanel p = new JPanel();
  35.         // задаем компоновку для панели
  36.         p.setLayout(new BorderLayout());
  37.         // создаем таблицу
  38.         // колонки нашей таблицы        
  39.         String[] columns = {"№", "Наименование товара",
  40.             "Остаток на складе", "Количество поступления"};
  41.         // данные для таблицы
  42.         String[][] data = {
  43.             {"1", "Мед", "", ""},
  44.             {"2", "Прополис", "", ""},
  45.             {"3", "Воск пчелиный", "", ""},
  46.             {"4", "Цветочная пыльца", "", ""},
  47.             {"5", "Перга", "", ""},
  48.             {"6", "Маточное молочко", "", ""},
  49.             {"7", "Трутневое молочко", "", ""},
  50.             {"8", "Пчелиный яд", "", ""},
  51.             {"9", "Пчелиная огневка", "", ""},
  52.             {"10", "Пчелиный подмор", "", ""}
  53.         };
  54.         // data - данные для таблицы,  columns - колонки
  55.         table = new JTable(data, columns);
  56.         // создаем объект для скроллирования данных таблицы
  57.         JScrollPane scrollPane = new JScrollPane(table);
  58.         // помещаем таблицу по центру экрана
  59.         p.add(scrollPane, BorderLayout.CENTER);
  60.         // панель содержит кнопки Выполнить, Выход
  61.         JPanel bottomPanel = new JPanel();
  62.         JButton invokeB = new JButton("Выполнить");
  63.         invokeB.addActionListener(this);
  64.         JButton exitB = new JButton("Выход");
  65.         exitB.addActionListener(this);
  66.         bottomPanel.add(invokeB);
  67.         bottomPanel.add(exitB);
  68.         // добавляем панел bottomPanel - помещаем ее вниз нашей панели
  69.         p.add(bottomPanel, BorderLayout.SOUTH);
  70.         return p;
  71.     }
  72.  
  73.     //1) По нажатию на кнопку Выполнить
  74.     //получить данные из колонки с индексом columnNum в виде массива строк  
  75.     public String[] getTableData(int columnNum) {
  76.         //
  77.         System.out.println("getTableData_columnNum=" + columnNum);
  78.         // для проверки метода getValueAt
  79. //        String value = table.getValueAt(0, 3).toString();
  80. //        System.out.println("value=" + value);        
  81.         String[] columnData = new String[10];
  82.         for (int i = 0; i < columnData.length; i++) {
  83.             columnData[i] = table.getValueAt(i, columnNum).toString();
  84.         }
  85.         return columnData;
  86.     }
  87.     // 2) По нажатию на кнопку Выполнить
  88.     //установить данные в колонку columnNum
  89.     //Данный метод позволяет установить (заполнить)
  90.     //данные в колонку таблицы
  91.     public void setTableData(int columnNum, String[] values) {
  92.         // для проверки метода setValueAt
  93.         //table.setValueAt("999", 0, 2);
  94.         for(int i = 0; i < values.length; i++) {            
  95.             table.setValueAt(values[i], i, columnNum);            
  96.         }
  97.     }
  98.     @Override
  99.     public void actionPerformed(ActionEvent e) {
  100.         System.out.println("e.command=" + e.getActionCommand());
  101.         // выполняем сравнение двух строк с помощью метода equals
  102.         if ("Выход".equals(e.getActionCommand())) {
  103.             // выполняем выход из программы
  104.             System.exit(0);
  105.         } else if ("Выполнить".equals(e.getActionCommand())) {
  106.             System.out.println("Выполнить INVOKED!");
  107.             String[] arr = getTableData(3);
  108.             String[] resultArray = Client.getData(arr);
  109.             for(int i = 0; i < resultArray.length; i++) {
  110.                 String string = resultArray[i];
  111.                 System.out.println("string=" + string);
  112.             }
  113.         }
  114.     }
  115. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top