Skip to content

Commit d0b2cad

Browse files
committed
[Version v1.0.0.1] Process Scheduler
1 parent 2451b28 commit d0b2cad

File tree

3 files changed

+49
-6
lines changed

3 files changed

+49
-6
lines changed

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/JAVA_GUI.java

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
import java.awt.*;
44
import java.awt.event.ActionEvent;
55
import java.awt.event.ActionListener;
6+
import java.awt.event.MouseAdapter;
7+
import java.awt.event.MouseEvent;
8+
import java.net.URI;
69
import java.util.List;
10+
import java.util.Objects;
711

812
public class JAVA_GUI {
913
private JFrame frame;
@@ -89,7 +93,7 @@ public void actionPerformed(ActionEvent e) {
8993
String selected = (String) option.getSelectedItem();
9094
CPUScheduler scheduler;
9195

92-
switch (selected) {
96+
switch (Objects.requireNonNull(selected)) {
9397
case "FCFS" :
9498
scheduler = new FirstComeFirstServe();
9599
break;
@@ -149,10 +153,31 @@ public void actionPerformed(ActionEvent e) {
149153
}
150154
});
151155

152-
156+
JLabel jLabel1 = new JLabel();
157+
jLabel1.setText("This Software is Completely free, and used to visualize the OS Process Scheduler's.");
158+
jLabel1.setFont(new Font("Segoe UI", 0, 10));
159+
jLabel1.setBounds(100, 480, 390, 10);
160+
161+
JLabel jLabel2 = new JLabel();
162+
jLabel2.setText("MadeBy@ShreeGovindJee ");
163+
jLabel2.setFont(new Font("Segoe UI", 0, 10));
164+
jLabel2.setBounds(190, 490, 150, 15);
165+
166+
JLabel jlabel3 = new JLabel();
167+
jlabel3.setFont(new Font("Segoe UI", 0, 10));
168+
jlabel3.setForeground(new Color(0, 51, 204));
169+
jlabel3.setText("https://imgovindjee.github.io/site/");
170+
jlabel3.setCursor(new Cursor(Cursor.HAND_CURSOR));
171+
jlabel3.addMouseListener(new MouseAdapter() {
172+
@Override
173+
public void mouseClicked(MouseEvent e) {
174+
jlabel3MouseClicked(e);
175+
}
176+
});
177+
jlabel3.setBounds(315, 490, 200, 15);
153178

154179
panel = new JPanel(null);
155-
panel.setPreferredSize(new Dimension(500, 500));
180+
panel.setPreferredSize(new Dimension(500, 520));
156181
panel.add(tablePanel);
157182
panel.add(addBtn);
158183
panel.add(removeBtn);
@@ -163,6 +188,9 @@ public void actionPerformed(ActionEvent e) {
163188
panel.add(tatResultLabel);
164189
panel.add(option);
165190
panel.add(computeBtn);
191+
panel.add(jLabel1);
192+
panel.add(jLabel2);
193+
panel.add(jlabel3);
166194

167195
frame = new JFrame("CPU Scheduler Simulator");
168196
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
@@ -172,11 +200,17 @@ public void actionPerformed(ActionEvent e) {
172200
frame.pack();
173201
}
174202

203+
private void jlabel3MouseClicked(MouseEvent e) {
204+
try {
205+
Desktop.getDesktop().browse(new URI("https://imgovindjee.github.io/site/"));
206+
} catch (Exception exception) {
207+
System.out.println("[JAVA GUI] Error encountered while processing the Developer Site link.");
208+
exception.printStackTrace(); // FOR ERROR VISUALIZATION
209+
}
210+
}
175211

176212

177-
178-
179-
// Customize the Panel
213+
// Customize the Panel
180214
class CustomPanel extends JPanel{
181215
private List<Event> timeline;
182216

src/META-INF/MANIFEST.MF

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Manifest-Version: 1.0
2+
Main-Class: JAVA_GUI
3+

0 commit comments

Comments
 (0)