Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create a button that says Search and a button that says View. When the user clic

ID: 3817642 • Letter: C

Question

Create a button that says Search and a button that says View. When the user clicks Search, the combobox will get populated. When the user clicks View, if all the fields are filled out and have valid input, a JOptionPane with a message dialog should appear stating, "Bus route search successful!" The frame should open a new JFrame with the title, "Bus Route Information," and a size of 475 by 500 pixels. This frame has the bus route information displayed in a JTextArea. [6 pts]

Add functionality to search for an Itinerary.

Create labels and text fields that allow the user to enter a bus type, a source bus station, and a destination bus station, as well as the departure time and the arrival time to search for one or more available bus routes in an Itinerary. Also, create a ComboBox (see Chapter 11) that will allow the user to select from a list of bus route Itineraries. Each item in the ComboBox represents an Itinerary element, e.g. the first comboBox element is the first Itinerary in the array. [15 pts]

Methods:

Your BusFrame class should include the following methods (The methods that check for validation must have message dialogs indicating to the user if the information entered in each text field is invalid):

initComponents() : Method used to initialize UI components and controls

default constructor : Inside the default constructor, call the initComponents() method

convertTime(String input) : converts time string (from text input -- ie departure time text field) to a Time object and returns the Time object

checkValidBusType() : returns true if entered bus type is valid and exists in BusType enum and can be converted to a BusType object

checkValidBusStations(String src, String dest) : will return true if both the source and destination bus stations entered in the text fields exist in BusStation enum

checkValidTime(String depTime, String arriveTime) : checks if the time is in valid format (hh:mm a) and returns true if it is in the correct format

Make sure all text fields have error checking and exception handling for invalid input. For example, if the user enters an integer as a departure time instead of a String (ie 1200 instead of 12:00 PM), a JOptionPane error message should appear stating, "Incorrect format for departure time." If the bus type they entered is not in the BusType enum, then the option pane should say, "Bus type unavailable. Please choose a different bus type." If the bus station they entered is not in the BusStation enum, then the option pane should say, "Unknown city." Make sure the times are in hh:mm a format. [8 pts]

Explanation / Answer

# incorporate <iostream.h>
# incorporate <graphics.h>
# incorporate <conio.h>
# incorporate <math.h>
void show_screen( );
void Fill_rectangle(constint,constint,constint,constint);
void Rectangle(constint,constint,constint,constint);
void Line(constint,constint,constint,constint);
int fundamental( )
{
int driver=VGA;
int mode=VGAHI;
initgraph(&driver,&mode,"..\Bgi");
show_screen( );
for(int count_1=0;count_1<15;count_1++)
{
setcolor((count_1+1));
Rectangle((141+count_1),(69+count_1),(499-count_1),
(427-count_1));
}
setcolor(9);
for(int count_2=0;count_2<19;count_2++)
Rectangle((156+count_2),(84+count_2),(484-count_2),(412-count_2));
setcolor(12);
Rectangle((156+count_2),(84+count_2),(484-count_2),(412-count_2));
for(int count_3=0;count_3<9;count_3++)
{
Line((176+(count_3*36)),104,(176+(count_3*36)),392);
Line(176,(104+(36*count_3)),464,(104+(36*count_3)));
}
setcolor(15);
for(int count_4=0;count_4<8;count_4++)
{
for(int count_5=0;count_5<8;count_5++)
{
if(((count_5%2)+(count_4%2))==1)
Fill_rectangle((176+(count_5*36)),(104+(count_4*36)),
(212+(count_5*36)),(140+(count_4*36)));
}
}
roast English[8][3]={"H","G","F","E","D","C","B","A"};
roast Numbers[8][3]={"1","2","3","4","5","6","7","8"};
setcolor(15);
settextstyle(0,0,1);
for(int count_6=0;count_6<8;count_6++)
{
outtextxy(164,(120+(count_6*36)),Numbers[count_6]);
outtextxy((190+(count_6*36)),398,English[count_6]);
}
getch( );
return 0;
}
/*************************************************************************// - - Rectangle( ) - -/*************************************************************************/void Rectangle(constint x_1,constint y_1,constint x_2,constint y_2)
{
Line(x_1,y_1,x_2,y_1);
Line(x_2,y_1,x_2,y_2);
Line(x_2,y_2,x_1,y_2);
Line(x_1,y_2,x_1,y_1);
}
/*************************************************************************// - - Fill_rectangle( ) - -/*************************************************************************/void Fill_rectangle(constint x_1,constint y_1,constint x_2,constint y_2)
{
int y_min=((y_1>=y_2)?y_2:y_1);
int y_max=((y_1<=y_2)?y_2:y_1);
for(int count=(y_min+1);count<y_max;count++)
Line((x_1+1),count,(x_2-1),count);
}
/*************************************************************************// - - Line( ) - -/*************************************************************************/void Line(constint x_1,constint y_1,constint x_2,constint y_2)
{
int color=getcolor( );
int x1=x_1;
int y1=y_1;
int x2=x_2;
int y2=y_2;
if(x_1>x_2)
{
x1=x_2;
y1=y_2;
x2=x_1;
y2=y_1;
}
int dx=abs(x2-x1);
int dy=abs(y2-y1);
int inc_dec=((y2>=y1)?1:- 1);
if(dx>dy)
{
int two_dy=(2*dy);
int two_dy_dx=(2*(dy-dx));
int p=((2*dy)- dx);
int x=x1;
int y=y1;
putpixel(x,y,color);
while(x<x2)
{
x++;
if(p<0)
p+=two_dy;
else
{
y+=inc_dec;
p+=two_dy_dx;
}
putpixel(x,y,color);
}
}
else
{
int two_dx=(2*dx);
int two_dx_dy=(2*(dx-dy));
int p=((2*dx)- dy);
int x=x1;
int y=y1;
putpixel(x,y,color);
while(y!=y2)
{
y+=inc_dec;
if(p<0)
p+=two_dx;
else
{
x++;
p+=two_dx_dy;
}
putpixel(x,y,color);
}
}
}
/*************************************************************************// - - show_screen( ) - -/*************************************************************************/void show_screen( )
{
setfillstyle(1,1);
bar(262,26,365,38);
settextstyle(0,0,1);
setcolor(15);
outtextxy(5,5,"******************************************************************************");
outtextxy(5,17,"*-**************************************************************************-*");
outtextxy(5,29,"* - - - - *");
outtextxy(5,41,"*-**************************************************************************-*");
outtextxy(5,53,"*-**************************************************************************-*");
setcolor(11);
outtextxy(270,29,"Chess Board");
setcolor(15);
for(int count=0;count<=30;count++)
outtextxy(5,(65+(count*12)),"* *-*");
outtextxy(5,438,"*-**************************************************************************-*");
outtextxy(5,450,"* - - - - *");
outtextxy(5,462,"******************************************************************************");
setcolor(12);
outtextxy(229,450,"Press any Key to exit.");
}