88.0k views
4 votes
Write a Java program that generates GUI (Graphical User Interface). Your program should provide labels and textfields to a user to enter information regarding clubs.

1 Answer

5 votes

Answer:

import javafx.application.Application;

import javafx.stage.Stage;

import javafx.scene.Scene;

import javafx.scene.control.Tab;

import javafx.scene.control.TabPane;

import javafx.scene.layout.StackPane;

import java.util.ArrayList;

public class Assignment6 extends Application {

private TabPane tabPane;

private CreatePane createPane;

private SelectPane selectPane;

private ArrayList<Club> clubList;

public void start(Stage stage) {

StackPane root = new StackPane();

//clubList to be used in both createPane & selectPane

clubList = new ArrayList<Club>();

selectPane = new SelectPane(clubList);

createPane = new CreatePane(clubList, selectPane);

tabPane = new TabPane();

Tab tab1 = new Tab();

tab1.setText("Club Creation");

tab1.setContent(createPane);

Tab tab2 = new Tab();

tab2.setText("Club Selection");

tab2.setContent(selectPane);

tabPane.getSelectionModel().select(0);

tabPane.getTabs().addAll(tab1, tab2);

root.getChildren().add(tabPane);

Scene scene = new Scene(root, 900, 400);

stage.setTitle("Club Selection Apps");

stage.setScene(scene);

stage.show();

}

public static void main(String[] args)

{

launch(args);

}

}

import java.util.ArrayList;

import javafx.scene.layout.HBox;

import javafx.event.ActionEvent; //**Need to import

import javafx.event.EventHandler; //**Need to import

public class CreatePane extends HBox {

ArrayList<Club> clubList;

private SelectPane selectPane;

//constructor

public CreatePane(ArrayList<Club> list, SelectPane sePane) {

this.clubList = list;

this.selectPane = sePane;

}

//using the toString method of the Club class.

//It also does error checking in case any of the textfields are empty,

//or a non-numeric value was entered for its number of members

private class ButtonHandler implements EventHandler<ActionEvent> {

//Override the abstact method handle()

public void handle(ActionEvent event) {

//declare any necessary local variables here

//---

//when a text field is empty and the button is pushed

//if ( //---- )

//{

//handle the case here

//}

//else //for all other cases

//{

//when a non-numeric value was entered for its number of

members

//and the button is pushed

//you will need to use try & catch block to catch

//the NumberFormatException

//When a club of an existing club name in the list

//was attempted to be added, do not add it to the list

//and display a message "Club not added - duplicate"

//at the end, don't forget to update the new arrayList

//information on the SelectPanel

//}

} //end of handle() method

} //end of ButtonHandler class

}

import javafx.scene.control.Label;

import javafx.scene.control.CheckBox;

import javafx.scene.layout.*;

import javafx.event.ActionEvent; //**Need to import

import javafx.event.EventHandler; //**Need to import

import java.util.ArrayList;

import javafx.collections.ObservableList;

import javafx.scene.Node;

//import all other necessary javafx classes here

public class SelectPane extends BorderPane {

private ArrayList<Club> clubList;

//constructor

public SelectPane(ArrayList<Club> list) {

//initialize instance variables

this.clubList = list;

//set up the layout

//create an empty pane where you can add check boxes later

//SelectPane is a BorderPane - add the components here

} //end of constructor

//This method uses the newly added parameter Club object

//to create a CheckBox and add it to a pane created in the constructor

//Such check box needs to be linked to its handler class

public void updateClubList(Club newClub)

{

//-------

}

//create a SelectionHandler class

private class SelectionHandler implements EventHandler<ActionEvent> {

//Override the abstact method handle()

public void handle(ActionEvent event){

//When any radio button is selected or unselected

//the total number of members of selected clubs should be updated

//and displayed using a label.

}

} //end of SelectHandler class

} //end of SelectPane class

public class Club {

private String clubName;

private int numberOfMembers;

private String university;

//Constructor to initialize all member variables

public Club() {

clubName = "?";

university = "?";

numberOfMembers = 0;

}

//Accessor method for club name

public String getClubName() {

return clubName;

}

//Accessor method for university

public String getUniversity() {

return university;

}

//Accessor method for number of members

public int getNumberOfMembers() {

return numberOfMembers;

}

//mutator/modifider method for club name

public void setClubName(String someClubName) {

clubName = someClubName;

}

//mutator/modifider method for university

public void setUniversity(String someUniversity) {

university = someUniversity;

}

//mutator/modifider method for number of members

public void setNumberOfMembers(int someNumber) {

numberOfMembers = someNumber;

}

//toString() method returns a string containg its name, number of members, and

university

public String toString() {

String result = "\\Club Name:\t\t" + clubName

+ "\\Number Of Members:\t" + numberOfMembers

+ "\\University:\t\t" + university

+ "\\\\";

return result;

}

}

Step-by-step explanation:

User Luca Torella
by
6.8k points