Advertisement
DeveloperSergio

Untitled

Nov 17th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.77 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.sql.*;
  6.  
  7. /**
  8. * Created by Admin on 13.11.2016.
  9. */
  10. public class Window extends JFrame implements ActionListener {
  11.  
  12. String Code3 = "", Type3 = "", Quantity3 = "", Price3 = "", Year3 = "";
  13.  
  14. JPanel panel = new JPanel(new FlowLayout());
  15. JPanel panelForButtons = new JPanel(new FlowLayout()); //JPanel для кнопок выводит элементы в рядок
  16. JPanel panelStart = new JPanel();
  17. JPanel panelLabelTablo = new JPanel();
  18. JLabel labelCode; // для вывода инфи из БД
  19. JLabel labelType; // для вывода инфи из БД
  20. JLabel labelQuantity;
  21. JLabel labelPrice;
  22. JLabel labelYear;
  23. JLabel labelToDo; // выводит все дейстия кнопок
  24.  
  25. Container containerPane = getContentPane(); // контейнер в который будем добавлять кнопки, label-ы и тп
  26. JButton start = new JButton("Start");
  27. JButton button1 = new JButton("Кнопка1");
  28. JButton button2 = new JButton("Кнопка2");
  29. JButton button3 = new JButton("Кнопка3");
  30. JButton button4 = new JButton("Кнопка4");
  31. JButton button5 = new JButton("Кнопка5");
  32. JButton button6 = new JButton("Очистить");
  33.  
  34. Object[][] data = new Object[1][5]; // данные с БД
  35.  
  36. private static String tbl1Title = ""; //заголовок таблицы
  37.  
  38. //Обьект таблицы
  39. JTable jTablePeople;
  40.  
  41. // JDBC URL, username and password MYSQL server
  42. private static final String url = "jdbc:mysql://localhost:3306/carsfff";
  43. private static final String user = "root";
  44. private static final String password = "root";
  45.  
  46. // JDBC varibals for opening and managing connection
  47. private static Connection con;
  48. private static Statement stmt;
  49. private static ResultSet rs;
  50.  
  51.  
  52. public Window(){
  53. super("Запуск программы");
  54. setSize(400,100);
  55. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  56. add(panelStart);
  57. panelStart.add( start );
  58. containerPane.add("Center", panelStart);
  59. setLocationRelativeTo(null);
  60. start.addActionListener(this);
  61. setVisible(true);
  62. }
  63.  
  64.  
  65.  
  66. public Window(String FieldCode, String FieldType, String FieldQuantity, String FieldPrice, String FieldYear,String Code, String Type, int Quantity, int Price, int Year){
  67. super( "Таблица " + "\""+Window.tbl1Title+"\"" + " Базы MYSQL from v0.01 to v1.35 " );
  68. setSize(700, 500); // шырина x высота
  69. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  70. add(panel); //добавляем JPanel на JFrame
  71. this.labelCode = new JLabel("*******"); // поле для вывода инфы столбца CODE с таблицы
  72. this.labelType = new JLabel("*******");
  73. this.labelQuantity = new JLabel("*******");
  74. this.labelPrice = new JLabel("*******");
  75. this.labelYear = new JLabel("*******");
  76. this.labelToDo = new JLabel("-------");
  77.  
  78. panel.add(this.labelCode); //добавляем label на JPanel
  79. panel.add(this.labelType);
  80. panel.add(this.labelQuantity);
  81. panel.add(this.labelPrice);
  82. panel.add(this.labelYear);
  83.  
  84. panelLabelTablo.add(this.labelToDo); //добавляем label табло для вывода действый всех кнопок
  85.  
  86.  
  87. Code3 = Code; // для JLabel с БД
  88. Type3 = Type;
  89. Quantity3 = String.valueOf(Quantity);
  90. Price3 = String.valueOf(Price);
  91. Year3 = String.valueOf(Year);
  92.  
  93.  
  94. panelForButtons.add( button1 ); // добавляем кнопки на JPanel
  95. panelForButtons.add( button2 );
  96. panelForButtons.add( button3 );
  97. panelForButtons.add( button4 );
  98. panelForButtons.add( button5 );
  99. panelForButtons.add( button6 );
  100.  
  101. containerPane.add("North", panel); // добавляем в контейнер panel а с ней вместе Label а так же делаем выравнивание
  102. containerPane.add("Center", panelForButtons); //добавляем в контейнер групу кнопок(6) и выравниваем их по центру
  103. containerPane.add("South", panelLabelTablo);
  104. setLocationRelativeTo(null); // запуск окна JFrame по центру экрана
  105.  
  106.  
  107. //it is a Test
  108. // Заголовки таблици
  109. Object[] headers = {FieldCode, FieldType, FieldQuantity, FieldPrice, FieldYear};
  110.  
  111. // Массив для таблици
  112. data = new Object[][]{
  113. {Code, Type, Quantity, Price, Year}
  114. };
  115.  
  116.  
  117. jTablePeople = new JTable(data, headers);
  118. // добавляем панель прокрутки и включаем ее в состав таблици
  119. JScrollPane jScrollPane = new JScrollPane(jTablePeople);
  120. // Утанавливаем размери прокручиваемой области
  121. jTablePeople.setPreferredScrollableViewportSize(new Dimension(450, 550));
  122. // добавляем таблицу в контейнер
  123. containerPane.add("East", jScrollPane);
  124.  
  125. setVisible(true);
  126. /* Сушатели кнопок */
  127. button1.addActionListener( this );
  128. button2.addActionListener( this );
  129. button3.addActionListener( this );
  130. button4.addActionListener( this );
  131. button5.addActionListener( this );
  132. button6.addActionListener( this );
  133.  
  134. }
  135.  
  136. public void actionPerformed(ActionEvent event){
  137.  
  138. if (event.getSource() == button1){
  139. this.labelCode.setText("");
  140. this.labelCode.setText(Code3);
  141. // button1.setEnabled(false);
  142. this.labelToDo.setText(event.getActionCommand()); //выводим команду в поле
  143.  
  144. }
  145. else if (event.getSource() == button2){
  146. this.labelType.setText("");
  147. this.labelType.setText(Type3);
  148. this.labelToDo.setText(event.getActionCommand());
  149. }
  150. else if (event.getSource() == button3){
  151. this.labelQuantity.setText("");
  152. this.labelQuantity.setText(Quantity3);
  153. this.labelToDo.setText(event.getActionCommand());
  154. }
  155. else if (event.getSource() == button4){
  156. this.labelPrice.setText("");
  157. this.labelPrice.setText(Price3);
  158. this.labelToDo.setText(event.getActionCommand());
  159. }
  160. else if (event.getSource() == button5){
  161. this.labelYear.setText("");
  162. this.labelYear.setText(Year3);
  163. this.labelToDo.setText(event.getActionCommand());
  164. }
  165. else if (event.getSource() == button6){
  166. this.labelCode.setText("(_");
  167. this.labelType.setText("_");
  168. this.labelQuantity.setText("_");
  169. this.labelPrice.setText("_");
  170. this.labelYear.setText("_)");
  171. this.labelToDo.setText(event.getActionCommand());
  172. }
  173. else if (event.getSource() == start){
  174. toDo();
  175. }
  176.  
  177.  
  178. }
  179.  
  180. Object toDo(){
  181. String Code = "", Type = "", FieldCode = "", FieldType = "",
  182. FieldQuantity = "", FieldPrice = "", FieldYear = "";
  183. int Quantity = 0, Price = 0, Year = 0;
  184.  
  185.  
  186. String query = "select * from tbl1";
  187. String queryCode = "show fields from tbl1 where Field='CODE'";
  188. String queryType = "show fields from tbl1 where Field='TYPE'";
  189. String queryQuantity = "show fields from tbl1 where Field='QUANTITY'";
  190. String queryPrice = "show fields from tbl1 where Field='PRICE'";
  191. String queryYear = "show fields from tbl1 where Field='YEAR'";
  192. String queryTitleTable = "show tables";
  193.  
  194. try {
  195. con = DriverManager.getConnection(url, user, password);
  196.  
  197. stmt = con.createStatement();
  198.  
  199. rs = stmt.executeQuery(query);
  200.  
  201.  
  202. while (rs.next()){
  203. Code = rs.getString(1);
  204. Type = rs.getString(2);
  205. Quantity = rs.getInt(3);
  206. Price = rs.getInt(4);
  207. Year = rs.getInt(5);
  208.  
  209. }
  210.  
  211. rs = stmt.executeQuery(queryCode);
  212.  
  213. while (rs.next()){
  214. FieldCode = rs.getString(1);
  215. }
  216.  
  217. rs = stmt.executeQuery(queryType);
  218. while (rs.next()){
  219. FieldType = rs.getString(1);
  220. }
  221.  
  222. rs = stmt.executeQuery(queryQuantity);
  223. while (rs.next()){
  224. FieldQuantity = rs.getString(1);
  225. }
  226. rs = stmt.executeQuery(queryPrice);
  227. while (rs.next()){
  228. FieldPrice = rs.getString(1);
  229. }
  230. rs = stmt.executeQuery(queryYear);
  231. while (rs.next()){
  232. FieldYear = rs.getString(1);
  233. }
  234.  
  235. rs = stmt.executeQuery(queryTitleTable);
  236. while (rs.next()){
  237. Window.tbl1Title = rs.getString(1);
  238. }
  239.  
  240. }catch (SQLException sqlEx){
  241. sqlEx.printStackTrace();
  242. }finally {
  243. try{con.close();} catch (SQLException se){}
  244. try{stmt.close();} catch (SQLException se){}
  245. try{rs.close();} catch (SQLException se){}
  246. }
  247.  
  248. Window obWindow = new Window(FieldCode,FieldType, FieldQuantity, FieldPrice, FieldYear ,Code, Type, Quantity, Price, Year);
  249.  
  250. return obWindow;
  251. }
  252.  
  253. public static void main(String[] args){
  254. Window obLittle = new Window();
  255.  
  256. }
  257.  
  258.  
  259. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement