Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.30 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4.  
  5. import java.awt.event.*;
  6. import java.sql.Time;
  7. import java.util.Date;
  8.  
  9. public class Assignment1 extends JPanel implements ActionListener {
  10. private JButton bus;
  11. private JLabel currentTime, inputTime, dvetochki;
  12. private JTextField hours, minutes, busField ;
  13.  
  14.  
  15.  
  16. public Assignment1() {
  17. setLayout(null);
  18.  
  19. Date time = new Date();
  20. bus = new JButton("Bus");
  21. bus.addActionListener(this);
  22. hours=new JTextField("",5);
  23. minutes=new JTextField("",5);
  24. currentTime = new JLabel("The current time: " + time.getHours() + ":" + time.getMinutes());
  25. inputTime = new JLabel("Hrs:Min =");
  26. dvetochki = new JLabel(" : ");
  27. busField = new JTextField ("");
  28.  
  29. bus.setBounds(50,100,130,25);
  30. hours.setBounds(70,50,50,30);
  31. minutes.setBounds(130,50,50,30);
  32. currentTime.setBounds(10,10,155,30);
  33. inputTime.setBounds(10,50,155,30);
  34. dvetochki.setBounds(120 ,47,30,30);
  35. busField.setBounds(10,140,215,50);
  36.  
  37.  
  38. add(bus);
  39. add(hours);
  40. add(minutes);
  41. add(currentTime);
  42. add(inputTime);
  43. add(dvetochki);
  44. add(busField);
  45. }
  46.  
  47. public static boolean isInteger(String s) {
  48. try {
  49. Integer.parseInt(s);
  50. } catch(NumberFormatException e) {
  51. return false;
  52. } catch(NullPointerException e) {
  53. return false;
  54. }
  55. // only got here if we didn't return false
  56. return true;
  57. }
  58.  
  59. public void actionPerformed(ActionEvent e) {
  60. Date time = new Date();
  61. int[][] timeTable;
  62. timeTable = new int[50][2];
  63. timeTable[0][0]=8;
  64. timeTable[0][1]=45;
  65. timeTable[1][0]=9;
  66. timeTable[1][1]=31;
  67. timeTable[2][0]=9;
  68. timeTable[2][1]=54;
  69. timeTable[3][0]=10;
  70. timeTable[3][1]=40;
  71. timeTable[4][0]=11;
  72. timeTable[4][1]=3;
  73. timeTable[5][0]=11;
  74. timeTable[5][1]=49;
  75. timeTable[6][0]=12;
  76. timeTable[6][1]=12;
  77. timeTable[7][0]=12;
  78. timeTable[7][1]=58;
  79. timeTable[8][0]=13;
  80. timeTable[8][1]=21;
  81. timeTable[9][0]=14;
  82. timeTable[9][1]=7;
  83. timeTable[10][0]=14;
  84. timeTable[10][1]=30;
  85. timeTable[11][0]=15;
  86. timeTable[11][1]=16;
  87. timeTable[12][0]=15;
  88. timeTable[12][1]=39;
  89. timeTable[13][0]=16;
  90. timeTable[13][1]=25;
  91. timeTable[14][0]=16;
  92. timeTable[14][1]=48;
  93. timeTable[15][0]=17;
  94. timeTable[15][1]=34;
  95. timeTable[16][0]=17;
  96. timeTable[16][1]=57;
  97. timeTable[17][0]=18;
  98. timeTable[17][1]=43;
  99. timeTable[18][0]=19;
  100. timeTable[18][1]=6;
  101. timeTable[19][0]=19;
  102. timeTable[19][1]=52;
  103. timeTable[20][0]=20;
  104. timeTable[20][1]=15;
  105.  
  106. if (e.getSource() == bus) {
  107. if (hours.getText().length() == 0 && minutes.getText().length() == 0){
  108. int response = JOptionPane.showConfirmDialog(null,"Time request is empty, would you like to proceed with the current time?", "Time Request Empty", JOptionPane.YES_NO_OPTION);
  109. if (response == JOptionPane.YES_OPTION){
  110. hours.setText(Integer.toString(time.getHours()));
  111. minutes.setText(Integer.toString(time.getMinutes()));
  112. int hoursValue = Integer.parseInt(hours.getText());
  113. int minutesValue = Integer.parseInt(minutes.getText());
  114.  
  115.  
  116. for(int i=0;i<20;i++)
  117. {
  118. if(hoursValue<timeTable[0][0])
  119. {
  120. busField.setText("Next bus: " + timeTable[0][0]+":"+timeTable[0][1]);
  121. break;
  122. }
  123. if(hoursValue>timeTable[20][0])
  124. {
  125. String a = busField.getText();
  126. busField.setText(a + System.lineSeparator() + "Last bus was: " + timeTable[20][0]+":"+timeTable[20][1]);
  127.  
  128. break;
  129. }
  130.  
  131. if(timeTable[i][0]==hoursValue)
  132. {
  133. for(int j=i;j<20;j++)
  134. {
  135.  
  136. if(minutesValue<=timeTable[j][1])
  137. {
  138. busField.setText("Next bus: " + timeTable[j][0]+ ":"+timeTable[j][1] + System.lineSeparator() + "Previous bus: " + timeTable[j-1][0]+ ":"+timeTable[j-1][1] );
  139. break;
  140. }
  141. busField.setText("Next bus: " + timeTable[j+1][0]+":"+timeTable[j+1][1] + System.lineSeparator() + "Previous bus: " + timeTable[j][0]+":"+timeTable[j][1] );
  142. break;
  143.  
  144. }
  145. break;
  146. }
  147. }
  148. }
  149. }else if (isInteger(hours.getText()) && isInteger(minutes.getText())) {
  150. int hoursValue = Integer.parseInt(hours.getText());
  151. int minutesValue = Integer.parseInt(minutes.getText());
  152. for(int i=0;i<20;i++)
  153. {
  154. if(hoursValue<timeTable[0][0])
  155. {
  156. busField.setText("Next bus: " + timeTable[0][0]+":"+timeTable[0][1]);
  157. break;
  158. }
  159. if(hoursValue>timeTable[20][0])
  160. {
  161. String a = busField.getText();
  162. busField.setText(a + System.lineSeparator() + "Last bus was: " + timeTable[20][0]+":"+timeTable[20][1]);
  163.  
  164. break;
  165. }
  166.  
  167. if(timeTable[i][0]==hoursValue)
  168. {
  169. for(int j=i;j<20;j++)
  170. {
  171.  
  172. if(minutesValue<=timeTable[j][1])
  173. {
  174. busField.setText("Next bus: " + timeTable[j][0]+ ":"+timeTable[j][1] + System.lineSeparator() + "Previous bus: " + timeTable[j-1][0]+ ":"+timeTable[j-1][1] );
  175. break;
  176. }
  177. busField.setText("Next bus: " + timeTable[j+1][0]+":"+timeTable[j+1][1] + System.lineSeparator() + "Previous bus: " + timeTable[j][0]+":"+timeTable[j][1] );
  178. break;
  179.  
  180. }
  181. break;
  182. }
  183. }
  184. }else{
  185. JOptionPane.showMessageDialog(null,"Please enter an integer number in the field.","Input Error", JOptionPane.ERROR_MESSAGE);
  186. }
  187.  
  188. }
  189.  
  190. }
  191. public static void main(String[] arg) {
  192. JFrame f = new JFrame("Buses");
  193. f.getContentPane().add(new Assignment1());
  194. f.setSize(250,250);
  195. f.setLocation(300,300);
  196. f.setVisible(true);
  197. f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  198. f.show();
  199. }
  200. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement