Skip to content

Instantly share code, notes, and snippets.

Created February 19, 2018 10:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/a32a483a053b2174c87b8f54c85310bd to your computer and use it in GitHub Desktop.
Save anonymous/a32a483a053b2174c87b8f54c85310bd to your computer and use it in GitHub Desktop.
import javax.swing.*;
import java.awt.*;
class Ticket extends JPanel {
protected String timeOfDeparture, arrivalTime, departurePoin,
placeOfArrival, seat, price,fName,lName;
public Ticket(String timeOfDeparture, String arrivalTime, String departurePoin,
String placeOfArrival, String seat, String price, String fName, String lName) {
this.timeOfDeparture = timeOfDeparture;
this.arrivalTime = arrivalTime;
this.departurePoin = departurePoin;
this.placeOfArrival = placeOfArrival;
this.seat = seat;
this.price = price;
this.fName = fName;
this.lName = lName;
}
public Ticket( String fName, String lName){
this.fName = fName;
this.lName = lName;
}
@Override
public void paint (Graphics g){
Graphics2D graphics2D = (Graphics2D) g;
graphics2D.setColor(Color.BLACK);
graphics2D.drawRect(5,5,110,170);
}
public String getfName() {
return fName;
}
public void setfName(String fName) {
this.fName = fName;
}
public String getlName() {
return lName;
}
public void setlName(String lName) {
this.lName = lName;
}
public String getTimeOfDeparture() {
return timeOfDeparture;
}
public void setTimeOfDeparture(String timeOfDeparture) {
this.timeOfDeparture = timeOfDeparture;
}
public String getArrivalTime() {
return arrivalTime;
}
public void setArrivalTime(String arrivalTime) {
this.arrivalTime = arrivalTime;
}
public String getDeparturePoin() {
return departurePoin;
}
public void setDeparturePoin(String departurePoin) {
this.departurePoin = departurePoin;
}
public String getPlaceOfArrival() {
return placeOfArrival;
}
public void setPlaceOfArrival(String placeOfArrival) {
this.placeOfArrival = placeOfArrival;
}
public String getSeat() {
return seat;
}
public void setSeat(String seat) {
this.seat = seat;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
@Override
public String toString() {
return "Отправление с: " + timeOfDeparture +"\nПрибытие в: "+ arrivalTime +
"\nВремя отправления: "+ departurePoin +"\nВремя прибытия: "+ placeOfArrival +
"\nМесто: "+ seat +"\nЦена: "+ price + "\nИмя: " + fName + "\nФамилия: "+ lName;
}
}
/*
Междугородний билет может иметь такие же поля
как и класс Ticket(наследование),а свои дополнительные
к примеру услуги:
Чай, постель, интернет
Tea, bed, Internet
*/
import java.awt.*;
public class IntercityTicket extends Ticket {
protected boolean tea, bed, internet;
public IntercityTicket(String timeOfDeparture, String arrivalTime,
String departurePoin, String placeOfArrival,
String seat, String price, String fName, String lName,
boolean tea, boolean bed, boolean internet) {
super(timeOfDeparture, arrivalTime, departurePoin, placeOfArrival, seat, price, fName, lName);
this.tea = tea;
this.bed = bed;
this.internet = internet;
}
public IntercityTicket(String fName, String lName, boolean tea, boolean bed, boolean internet) {
super(fName, lName);
this.tea = tea;
this.bed = bed;
this.internet = internet;
}
@Override
public void paint (Graphics g){
Graphics2D graphics2D = (Graphics2D) g;
graphics2D.setColor(Color.BLACK);
graphics2D.drawRect(115,5,110,170);
}
public boolean getTea() {
return tea;
}
public void setTea(boolean tea) {
this.tea = tea;
}
public boolean getBed() {
return bed;
}
public void setBed(boolean bed) {
this.bed = bed;
}
public boolean getInternet() {
return internet;
}
public void setInternet(boolean internet) {
this.internet = internet;
}
@Override
public String toString() {
return "Отправление с: " + timeOfDeparture +"\nПрибытие в: "+ arrivalTime +
"\nВремя отправления: "+ departurePoin +"\nВремя прибытия: "+ placeOfArrival +
"\nМесто: "+ seat +"\nЦена: "+ price + "\nИмя: " + fName + "\nФамилия: "+ lName +
"\nДополнительные услуги:\n" +"Чай: " + tea + "\n" + "Постель: " + bed + "\n" + "Интернет: " + internet;
}
}
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TestBox implements ActionListener{
//Поля классов
private JFrame frame;
private JPanel panel;
private JButton b1,b2;
private JComboBox cb1,cb2;
private JTextField tf1,tf2,tf3,tf4;
private JRadioButton rb1,rb2;
private JCheckBox tea, bed, internet;
private JTextArea ta;
private JLabel l1, l2,l3,l4,l5,l6,l7;
private Ticket ticket;
private IntercityTicket iTicket;
public static void main(String[] args) {
TestBox tb = new TestBox();
tb.interfaceGUI();
}
//Создание графического интерфейса программы
public void interfaceGUI(){
frame = new JFrame("Create a bus ticket");
frame.setSize(500,230);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
panel.setLayout(null);
frame.add(panel);
ta = new JTextArea();
ta.setBounds(250,10,240,185);
panel.add(ta);
b1 = new JButton("Ticket");
b1.setActionCommand("test");
b1.setBounds(250,200,80,20);
b1.addActionListener(this);
panel.add(b1);
b2 = new JButton("IntercityTicket");
b2.setActionCommand("test1");
b2.setBounds(340,200,150,20);
b2.addActionListener(this);
b2.setEnabled(false);
panel.add(b2);
l1 = new JLabel("Departure");
l1.setBounds(10,70,100,20);
panel.add(l1);
l2 = new JLabel("Arrival");
l2.setBounds(120,70,100,20);
panel.add(l2);
l3 = new JLabel("Select additional services");
l3.setBounds(10,180,200,20);
panel.add(l3);
l4 = new JLabel("Seat");
l4.setBounds(10,130,100,20);
panel.add(l4);
l5 = new JLabel("Price");
l5.setBounds(120,130,100,20);
panel.add(l5);
l6 = new JLabel("Ferst name");
l6.setBounds(10,90,100,20);
panel.add(l6);
l7 = new JLabel("Last name");
l7.setBounds(120,90,100,20);
panel.add(l7);
tf1 = new JTextField();
tf1.setBounds(10,150,100,20);
panel.add(tf1);
tf2 = new JTextField();
tf2.setBounds(120,150,100,20);
panel.add(tf2);
tf3 = new JTextField();
tf3.setBounds(10,110,100,20);
panel.add(tf3);
tf4 = new JTextField();
tf4.setBounds(120,110,100,20);
panel.add(tf4);
rb1 = new JRadioButton("Ticket");
rb1.setBounds(10,10,100,20);
rb1.addActionListener(this);
rb1.setActionCommand("ticket");
panel.add(rb1);
rb2 = new JRadioButton("IntercityTicket");
rb2.setActionCommand("intersity");
rb2.addActionListener(this);
rb2.setBounds(120,10,130,20);
panel.add(rb2);
ButtonGroup group = new ButtonGroup();
rb1.setSelected(true);
group.add(rb1);
group.add(rb2);
tea = new JCheckBox("Tea");
bed = new JCheckBox("Bed");
internet = new JCheckBox("Internet");
tea.setBounds(10,200,55,20);
bed.setBounds(70,200,70,20);
internet.setBounds(150,200,100,20);
tea.setEnabled(false);
bed.setEnabled(false);
internet.setEnabled(false);
panel.add(tea);
panel.add(bed);
panel.add(internet);
String[] out = {
"Krakov",
"Kyiv",
"Cherkassy",
"Lviv",
"Smila",
"BilaCerkva",
};
cb1 = new JComboBox(out);
cb1.setActionCommand("box1");
cb1.addActionListener(this);
cb1.setBounds(10,40,100,20);
panel.add(cb1);
String[] in = {
"Krakov",
"Kyiv",
"Cherkassy",
"Lviv",
"Smila",
"BilaCerkva",
};
cb2 = new JComboBox(in);
cb2.setActionCommand("box2");
cb2.addActionListener(this);
cb2.setBounds(120,40,100,20);
panel.add(cb2);
}
//Обработчик программы
@Override
public void actionPerformed(ActionEvent e) {
switch (e.getActionCommand()){
//Создание билета и вывод в ТА
case "test1":
iTicket = new IntercityTicket(cb1.getSelectedItem().toString(),cb2.getSelectedItem().toString(),
l1.getText(),l2.getText(), tf1.getText(),tf2.getText(),tf3.getText(), tf4.getText(),
tea.isSelected(), bed.isSelected(), internet.isSelected());
iTicket.paint(panel.getGraphics());
ta.setText(iTicket.toString());
break;
case "test":
ticket = new Ticket(cb1.getSelectedItem().toString(),cb2.getSelectedItem().toString(),
l1.getText(),l2.getText(), tf1.getText(),tf2.getText(),tf3.getText(), tf4.getText());
ticket.paint(panel.getGraphics());
ta.setText(ticket.toString());
break;
//Включение дополнительных услуг класса IntercityTicket
case "intersity":
rb2.setSelected(true);
b1.setEnabled(false);
b2.setEnabled(true);
tea.setEnabled(true);
bed.setEnabled(true);
internet.setEnabled(true);
break;
//Отключение дополнительных услуг класса IntercityTicket
case "ticket":
rb1.setSelected(true);
b1.setEnabled(true);
b2.setEnabled(false);
tea.setEnabled(false);
bed.setEnabled(false);
internet.setEnabled(false);
tea.setSelected(false);
bed.setSelected(false);
internet.setSelected(false);
break;
//Обработка комбобоксов с автоматическим выборо времени в текстовом формате
case "box1":
if (cb1.getSelectedItem().equals("Krakov")){
l1.setText("10:00");
}else if (cb1.getSelectedItem().equals("Kyiv")){
l1.setText("11:50");
}else if (cb1.getSelectedItem().equals("Cherkassy")){
l1.setText("9:50");
}else if (cb1.getSelectedItem().equals("Lviv")){
l1.setText("01:50");
}else if (cb1.getSelectedItem().equals("Smila")){
l1.setText("14:50");
}else if (cb1.getSelectedItem().equals("BilaCerkva")){
l1.setText("17:50");
}
break;
case "box2":
if (cb2.getSelectedItem().equals("Krakov")){
l2.setText("00:05");
}else if (cb2.getSelectedItem().equals("Kyiv")){
l2.setText("21:20");
}else if (cb2.getSelectedItem().equals("Cherkassy")){
l2.setText("19:15");
}else if (cb2.getSelectedItem().equals("Lviv")){
l2.setText("15:35");
}else if (cb2.getSelectedItem().equals("Smila")){
l2.setText("04:55");
}else if (cb2.getSelectedItem().equals("BilaCerkva")){
l2.setText("07:10");
}
break;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment