Question: * * * JAVAFX * * * How can this be cleaned up and make the observeQueue and queueListView reflect the queue / deque more
JAVAFX How can this be cleaned up and make the observeQueue and queueListView reflect the queuedeque more effectively?:
import java.util.;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TextField;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.Background;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class VisualQueue extends Application
Its close but not quite a full visual queue, just like the other one I
can't get the list view to addremove correctly every time, and I don't think the
queue is filling up correctly with each addition
Deque queue new LinkedList;
ObservableList observeQueue FXCollections.observableArrayList;
ListView queueListView new ListViewobserveQueue;
TextField textInput new TextField;
Button enqueue new ButtonENQUEUE;
Button dequeue new ButtonDEQUEUE;
Button peek new ButtonPEEK;
RadioButton fifo new RadioButtonFIFO;
RadioButton lifo new RadioButtonLIFO;
ToggleGroup group new ToggleGroup;
Label head new LabelHEAD;
Label tail new LabelTAIL;
Label errorText new Label;
Label title new LabelMy Visual Queue";
Label dequeueLabel new Label;
Label peekLabel new Label;
Label error new LabelError:;
Label queueLabel new LabelQueue;
public void startStage primaryStage
fifo.setTextFillColorWHITE;
lifo.setTextFillColorWHITE;
fifo.setContentDisplayContentDisplayRIGHT;
lifo.setContentDisplayContentDisplayRIGHT;
fifo.setToggleGroupgroup;
lifo.setToggleGroupgroup;
fifo.setFocusTraversabletrue;
errorText.setMinSize;
errorText.setBackgroundBackgroundfillColorWHITE;
title.setTextFillColorWHITE;
error.setTextFillColorWHITE;
head.setTextFillColorWHITE;
tail.setTextFillColorWHITE;
dequeueLabel.setTextFillColorWHITE;
queueLabel.setTextFillColorWHITE;
peekLabel.setTextFillColorWHITE;
textInput.setMinSize;
enqueue
enqueue.setMinSize;
enqueue.setOnActione
iffifoisSelected true
queue.addFirsttextInputgetText;
observeQueue.addtextInput.getText;
else iflifoisSelected true
queue.addLasttextInputgetText;
observeQueue.addobserveQueuesizetextInput.getText;
textInput.clear;
;
dequeue
dequeue.setMinSize;
dequeue.setOnActione
try
ifqueue.isEmpty && fifo.isSelected true
dequeueLabel.setTextStringqueueremoveFirst;
observeQueue.removequeueremoveFirst;
queue.removeFirst;
else ifqueue.isEmpty && lifo.isSelected true
dequeueLabel.setTextStringqueueremoveLast;
observeQueue.removequeueremoveLast;
queue.removeLast;
catchException er
errorText.setTextertoString;
;
peek
peek.setMinSize;
peek.setOnActione
try
ifqueue.isEmpty && fifo.isSelected true
peekLabel.setTextStringqueuegetFirst;
queue.getFirst;
else ifqueue.isEmpty && lifo.isSelected true
peekLabel.setTextStringqueuegetLast;
queue.getLast;
catchException er
errorText.setTextergetMessage;
;
Pane backgroundPane new Pane;
backgroundPane.setBackgroundBackgroundfillColorBLUE;
backgroundPane.getChildrenaddAlltitlefifo,lifo,enqueue,dequeue, dequeueLabel,peek,
textInput,peekLabel,queueListView, queueLabel,
error, errorText, head,tail;
title.setLayoutX;
title.se
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
