Advertisement
Guest User

Untitled

a guest
May 7th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.49 KB | None | 0 0
  1. package palvelu_varaus;
  2.  
  3. import org.eclipse.swt.widgets.Display;
  4. import org.eclipse.swt.widgets.Shell;
  5. import org.eclipse.swt.layout.FillLayout;
  6.  
  7. import java.awt.Dimension;
  8. import java.awt.Toolkit;
  9.  
  10. import org.eclipse.swt.SWT;
  11. import org.eclipse.swt.widgets.Composite;
  12. import org.eclipse.swt.layout.GridLayout;
  13. import org.eclipse.swt.widgets.List;
  14. import org.eclipse.swt.widgets.Monitor;
  15. import org.eclipse.swt.widgets.Label;
  16. import org.eclipse.swt.widgets.Table;
  17. import org.eclipse.swt.layout.GridData;
  18. import org.eclipse.swt.widgets.TableColumn;
  19. import org.eclipse.swt.widgets.Button;
  20. import org.eclipse.swt.layout.RowLayout;
  21. import swing2swt.layout.BorderLayout;
  22. import org.eclipse.swt.widgets.TableItem;
  23.  
  24. import ApuMetodeja.ApuMetodeja;
  25.  
  26. import org.eclipse.swt.events.SelectionAdapter;
  27. import org.eclipse.swt.events.SelectionEvent;
  28. import org.eclipse.swt.graphics.Rectangle;
  29. import java.sql.*;
  30.  
  31. import javax.swing.JOptionPane;
  32. public class PalveluvarausEtusivuGUI {
  33.  
  34. protected Shell palveluvarausEtusivuShl;
  35. private Connection conn;
  36. private Table etusivuPalveluTbl;
  37. private Composite composite_1;
  38. private Button lisaaPalveluvarausBtn;
  39. private Button muokkaaPalveluvarausBtn;
  40. private Button poistaPalveluvarausBtn;
  41. private TableColumn palveluvarausID;
  42. private TableColumn palveluId;
  43. private TableColumn asiakasId;
  44. private LisaaPalveluvarausGUI lisaaPalveluGui;
  45. private MuokkaaPalveluvarausGUI muokkaaPalveluGui;
  46. private NaytaPalveluvarausTiedotGUI naytaPalveluTiedotGui;
  47. private PalveluvarausRaportointiGUI palveluvarausRaportointiGui;
  48. private Label palveluListaLbl;
  49. private Button naytaTiedotBtn;
  50. private TableColumn aloituspvm;
  51. private Button palveluvarausRaportointiBtn;
  52.  
  53.  
  54.  
  55. /**
  56. * Launch the application.
  57. * @param args
  58. */
  59. public static void main(String[] args) {
  60. try {
  61. PalveluvarausEtusivuGUI window = new PalveluvarausEtusivuGUI();
  62. window.open();
  63. } catch (Exception e) {
  64. e.printStackTrace();
  65. }
  66. }
  67.  
  68. /**
  69. * Open the window.
  70. */
  71. public void open() {
  72. createContents();
  73. // Avautuessa keskelle
  74. Display display = ApuMetodeja.centerWindow(palveluvarausEtusivuShl);
  75. palveluvarausEtusivuShl.open();
  76. palveluvarausEtusivuShl.layout();
  77. while (!palveluvarausEtusivuShl.isDisposed()) {
  78. if (!display.readAndDispatch()) {
  79. display.sleep();
  80. }
  81. }
  82. }
  83.  
  84. /**
  85. * Create contents of the window.
  86. */
  87. protected void createContents() {
  88. palveluvarausEtusivuShl = new Shell(SWT.CLOSE | SWT.MIN);
  89. palveluvarausEtusivuShl.setSize(741, 519);
  90.  
  91.  
  92. // "Responsiivisuus"
  93. Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  94.  
  95. if (screenSize.getWidth() < 1600){
  96. palveluvarausEtusivuShl.setSize((int)(screenSize.getWidth() / 2.2), (int) (screenSize.getHeight() / 1.7));
  97. }
  98. else if (screenSize.getWidth() > 1600){
  99. palveluvarausEtusivuShl.setSize((int)(screenSize.getWidth() / 2.65), (int) (screenSize.getHeight() / 2.5));
  100. }
  101. else if (screenSize.getWidth() == 1600) {
  102. palveluvarausEtusivuShl.setSize((int) (screenSize.getWidth() / 3.4), (int) (screenSize.getHeight() / 2.2));
  103. }
  104.  
  105. palveluvarausEtusivuShl.setText("Palveluvarausten hallinta");
  106. palveluvarausEtusivuShl.setLayout(new GridLayout(2, false));
  107.  
  108. Composite composite = new Composite(palveluvarausEtusivuShl, SWT.V_SCROLL);
  109. composite.setLayout(new GridLayout(1, false));
  110. composite.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, true, 1, 1));
  111.  
  112. palveluListaLbl = new Label(composite, SWT.NONE);
  113. palveluListaLbl.setText("Alla on lista luoduista palveluvarauksista");
  114.  
  115.  
  116. // Palvelun valinta taulu
  117. etusivuPalveluTbl = new Table(composite, SWT.BORDER | SWT.FULL_SELECTION);
  118. GridData gd_etusivuPalveluTbl = new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1);
  119. gd_etusivuPalveluTbl.widthHint = 563;
  120. gd_etusivuPalveluTbl.heightHint = 367;
  121. etusivuPalveluTbl.setLayoutData(gd_etusivuPalveluTbl);
  122. etusivuPalveluTbl.setHeaderVisible(true);
  123. etusivuPalveluTbl.setLinesVisible(true);
  124.  
  125.  
  126.  
  127. // Taulun kentat
  128. palveluvarausID = new TableColumn(etusivuPalveluTbl, SWT.NONE);
  129. palveluvarausID.setWidth(137);
  130. palveluvarausID.setText("Palveluvaraus ID");
  131.  
  132.  
  133. palveluId = new TableColumn(etusivuPalveluTbl, SWT.NONE);
  134. palveluId.setWidth(128);
  135. palveluId.setText("Palvelu ID" );
  136.  
  137.  
  138.  
  139. asiakasId = new TableColumn(etusivuPalveluTbl, SWT.NONE);
  140. asiakasId.setWidth(117);
  141. asiakasId.setText("Asiakas ID");
  142.  
  143.  
  144. aloituspvm = new TableColumn(etusivuPalveluTbl, SWT.NONE);
  145. aloituspvm.setWidth(111);
  146. aloituspvm.setText("Aloituspäivämäärä");
  147.  
  148.  
  149.  
  150. composite_1 = new Composite(palveluvarausEtusivuShl, SWT.NONE);
  151. composite_1.setLayout(new GridLayout(1, false));
  152. composite_1.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
  153. new Label(composite_1, SWT.NONE);
  154.  
  155.  
  156.  
  157. // Lisaa palvelu nappi
  158. lisaaPalveluvarausBtn = new Button(composite_1, SWT.NONE);
  159. GridData gd_lisaaPalveluvarausBtn = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
  160. gd_lisaaPalveluvarausBtn.widthHint = 140;
  161. lisaaPalveluvarausBtn.setLayoutData(gd_lisaaPalveluvarausBtn);
  162. lisaaPalveluvarausBtn.addSelectionListener(new SelectionAdapter() {
  163. @Override
  164. public void widgetSelected(SelectionEvent e) {
  165. //TODO LISAA PALVELU NAPPI KUUNTELIJA
  166. lisaaPalveluGui = new LisaaPalveluvarausGUI();
  167. lisaaPalveluGui.open();
  168. }
  169. });
  170. lisaaPalveluvarausBtn.setText("Lisää uusi palveluvaraus");
  171.  
  172.  
  173. // Muokkaa nappi
  174. muokkaaPalveluvarausBtn = new Button(composite_1, SWT.NONE);
  175. GridData gd_muokkaaPalveluvarausBtn = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
  176. gd_muokkaaPalveluvarausBtn.widthHint = 140;
  177. muokkaaPalveluvarausBtn.setLayoutData(gd_muokkaaPalveluvarausBtn);
  178. muokkaaPalveluvarausBtn.addSelectionListener(new SelectionAdapter() {
  179. @Override
  180. public void widgetSelected(SelectionEvent e) {
  181. //TODO MUOKKAA PALVELU NAPPI KUUNTELIJA
  182. muokkaaPalveluGui = new MuokkaaPalveluvarausGUI();
  183. muokkaaPalveluGui.open();
  184. }
  185. });
  186. muokkaaPalveluvarausBtn.setText("Muokkaa palveluvarausta");
  187.  
  188. naytaTiedotBtn = new Button(composite_1, SWT.NONE);
  189. naytaTiedotBtn.addSelectionListener(new SelectionAdapter() {
  190. @Override
  191. public void widgetSelected(SelectionEvent e) {
  192. // TODO NAYTA TIEDOT NAPPI KUUNTELIJA
  193. naytaPalveluTiedotGui = new NaytaPalveluvarausTiedotGUI();
  194. naytaPalveluTiedotGui.open();
  195. }
  196. });
  197. GridData gd_naytaTiedotBtn = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
  198. gd_naytaTiedotBtn.widthHint = 140;
  199. naytaTiedotBtn.setLayoutData(gd_naytaTiedotBtn);
  200. naytaTiedotBtn.setText("Näytä tiedot");
  201. new Label(composite_1, SWT.NONE);
  202.  
  203.  
  204. // Poista palvelu nappi
  205. poistaPalveluvarausBtn = new Button(composite_1, SWT.NONE);
  206. GridData gd_poistaPalveluvarausBtn = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
  207. gd_poistaPalveluvarausBtn.widthHint = 140;
  208. poistaPalveluvarausBtn.setLayoutData(gd_poistaPalveluvarausBtn);
  209. poistaPalveluvarausBtn.addSelectionListener(new SelectionAdapter() {
  210. @Override
  211. public void widgetSelected(SelectionEvent e) {
  212. //TODO POISTA PALVELU NAPPI KUUNTELIJA
  213. }
  214. });
  215. poistaPalveluvarausBtn.setText("Poista palveluvaraus");
  216. new Label(composite_1, SWT.NONE);
  217.  
  218. palveluvarausRaportointiBtn = new Button(composite_1, SWT.NONE);
  219. palveluvarausRaportointiBtn.addSelectionListener(new SelectionAdapter() {
  220. @Override
  221. public void widgetSelected(SelectionEvent e) {
  222. palveluvarausRaportointiGui = new PalveluvarausRaportointiGUI();
  223. palveluvarausRaportointiGui.open();
  224. }
  225. });
  226. GridData gd_palveluvarausRaportointiBtn = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
  227. gd_palveluvarausRaportointiBtn.widthHint = 140;
  228. palveluvarausRaportointiBtn.setLayoutData(gd_palveluvarausRaportointiBtn);
  229. palveluvarausRaportointiBtn.setText("Raportointi");
  230.  
  231. // avataan tietokanta
  232. try {
  233. yhdista ();
  234. } catch (SQLException se) {
  235. // SQL virheet
  236. JOptionPane.showMessageDialog(null, "Tapahtui virhe tietokantaa avattaessa.", "Tietokantavirhe", JOptionPane.ERROR_MESSAGE);
  237. } catch (Exception e) {
  238. // JDBC virheet
  239. JOptionPane.showMessageDialog(null, "Tapahtui JDBCvirhe tietokantaa avattaessa.", "Tietokantavirhe", JOptionPane.ERROR_MESSAGE);
  240. }
  241. try {
  242. populateEtusivuTbl(etusivuPalveluTbl);
  243.  
  244. } catch (SQLException se) {
  245. // SQL virheet
  246. JOptionPane.showMessageDialog(null, "Tapahtui virhe tietokantaa avattaessa.", "Tietokantavirhe", JOptionPane.ERROR_MESSAGE);
  247. } catch (Exception e) {
  248. // JDBC virheet
  249. JOptionPane.showMessageDialog(null, "Tapahtui JDBCvirhe tietokantaa avattaessa.", "Tietokantavirhe", JOptionPane.ERROR_MESSAGE);
  250. }
  251. }
  252. public void populateEtusivuTbl(Table palveluvarausEtusivuTbl) throws SQLException {
  253.  
  254. // SQL-kysely ja tulosjoukon valmistelu
  255. String sql = "SELECT PalveluvarausID ,PalveluID, AsiakasID, aloituspvm, lopetuspvm FROM palvelun_varaus";
  256. ResultSet tulosjoukko = null;
  257. PreparedStatement lause = null;
  258.  
  259. try {
  260.  
  261. // luo PreparedStatement-olio sql-lauseelle
  262.  
  263. lause = conn.prepareStatement(sql);
  264. tulosjoukko = lause.executeQuery();
  265. System.out.println(tulosjoukko);
  266. if (tulosjoukko == null) {
  267. System.out.println("Tyhjä??");
  268. }
  269. } catch (SQLException se) {
  270. // SQL virheet, TODO
  271. se.printStackTrace();
  272. } catch (Exception e) {
  273. // JDBC virheet, TODO
  274. e.printStackTrace();
  275. }
  276.  
  277. // sarakkeiden maaran haku alempaa taulun tayttamista varten iteroinnilla
  278. java.sql.ResultSetMetaData rsmd = tulosjoukko.getMetaData();
  279. int columnsNumber = rsmd.getColumnCount();
  280.  
  281. // iteroidaan tulosjoukkoa lapi niin kauan kun riittaa, lisataan uudet TableItem:t ja niiden sisalto
  282. try {
  283. TableItem item;
  284. while (tulosjoukko.next ()){
  285. item = new TableItem(etusivuPalveluTbl, SWT.NONE);
  286. for (int i = 1; i <= columnsNumber; i++) {
  287. item.setText(i - 1, tulosjoukko.getString(i));
  288. }
  289. }
  290. }catch (SQLException e) {
  291. e.printStackTrace();
  292. }catch (Exception e) {
  293. e.printStackTrace();
  294. }
  295. }
  296.  
  297. /*
  298. Avataan tietokantayhteys
  299. */
  300. public void yhdista() throws SQLException, Exception {
  301. String url = "jdbc:mysql://localhost:3306/utiiii"; // palvelin = localhost, :portti annettu asennettaessa, tietokannan nimi
  302. conn = null;
  303.  
  304. try {
  305. // ota yhteys kantaan, kayttaja = root, salasana = ""
  306. conn = DriverManager.getConnection(url,"root","");
  307. }
  308. catch (SQLException e) { // tietokantaan ei saada yhteyttä
  309. conn = null;
  310. throw e;
  311. }
  312. catch (Exception e ) { // JDBC ajuria ei löydy
  313. throw e;
  314. }
  315. }
  316.  
  317. /*
  318. Suljetaan tietokantayhteys
  319. */
  320. public void sulje_kanta() throws SQLException, Exception {
  321. // suljetaan
  322. try {
  323. // sulje yhteys kantaan
  324. conn.close ();
  325. }
  326. catch (SQLException e) { // tietokantavirhe
  327. throw e;
  328. }
  329. catch (Exception e ) { // muu virhe tapahtui
  330. throw e;
  331. }
  332. }
  333. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement