Question
TASK: It would be nice to be able to directly tell the panel to go into wait mode in the same way that the panel'snotifymethod
TASK: It would be nice to be able to directly tell the panel to go into wait mode in the same way that the panel'snotifymethod is called. (i.e.notifyis called directly on the panel, whereaswaitis called indirectly through thesuspendedattribute.) Try altering the theactionPerformedmethod of theSliderListenerinner class in theCircleFrameclass as follows, and see what happens:
... if (!CircleFrame.this.slider.getValueIsAdjusting()) { // Update the delay when the slider stops moving. final int speed = CircleFrame.this.slider.getValue(); if (CircleFrame.this.circlePanel.isSuspended() && speed > 0) { // Restart the circle resizing. synchronized (CircleFrame.this.circlePanel) { // Remove thread from wait() CircleFrame.this.circlePanel.notify(); } } else if(speed == 0) { // Attempt to call 'wait' directly on the running object. CircleFrame.this.circlePanel.wait(); } CircleFrame.this.circlePanel.setSpeed(speed); } ...
TASK: In theSpawnViewclass, redefine thethreadPoolattribute as:
private final ExecutorService threadPool = Executors.newFixedThreadPool(4);
What happens when you spawn more than four circle windows? What happens if you close any of the first four windows?
TASK: Add one or more new buttons to change the color of the circle to a new color.
I was not able to add the zip files, so instead I have attached images to this question.
CircleFrame.java
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started