Adding a loading or progress bar in a Java application, especially for a Swing GUI, involves using the JProgressBar component.
Steps to Implement a JProgressBar:
Instantiate JProgressBar.
Java
JProgressBar progressBar = new JProgressBar(minimumValue, maximumValue);
minimumValue: The starting value of the progress bar (often 0).
maximumValue: The ending value, representing 100% completion (e.g., total number of items to process, or a fixed value like 100).
Configure JProgressBar:
Set Initial Value:
Java
progressBar.setValue(0); // Set to 0 at the start
Display Percentage Text (Optional).
Java
progressBar.setStringPainted(true); // Shows "XX%" on the bar
Set Custom String (Optional): You can also set a custom string to be displayed on the progress bar instead of the percentage.
Java
progressBar.setString("Loading data...");
Add to GUI: Add the JProgressBar to your JFrame or other Swing container.
Java
frame.add(progressBar); // Or use a layout manager like BorderLayout, etc.
Update Progress During Task: As your background task progresses, update the JProgressBar's value. This should be done on the Event Dispatch Thread (EDT) if the updates are frequent or involve UI changes, typically using SwingWorker or SwingUtilities.invokeLater().
Java
// Inside your background task or SwingWorker's process() method
progressBar.setValue(currentProgress);
currentProgress: The current value representing the progress of your task.
Example (Basic):
Java
import javax.swing.*;
public class ProgressBarDemo extends JFrame {
JProgressBar progressBar;
public ProgressBarDemo() {
setTitle("Loading Progress");
setSize(400, 100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null); // Simple layout for demonstration
progressBar = new JProgressBar(0, 100); // Min 0, Max 100
progressBar.setBounds(50, 20, 300, 30); // x, y, width, height
progressBar.setStringPainted(true); // Show percentage
add(progressBar);
// Simulate a loading process
Thread loadingThread = new Thread(() -> {
for (int i = 0; i <= 100; i++) {
try {
Thread.sleep(50); // Simulate work
} catch (InterruptedException e) {
e.printStackTrace();
}
final int progress = i;
SwingUtilities.invokeLater(() -> progressBar.setValue(progress));
}
});
loadingThread.start();
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new ProgressBarDemo());
}
}
For more complex scenarios, especially when performing long-running tasks that might block the UI, consider using SwingWorker to perform the task in a background thread and update the JProgressBar on the EDT.
currentFileName
1 comment:
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;
int delete_virus;
int loading;
for(a=-100; a!=388.001; a++){
for(b=-10 ; b!=a; b++){
for(c=-1; c>=b; c++){
for(d=8; d!=c; d++){
for(e=9; e>=d; e++){
for(f=-84; f>=e; f++){
for(g=-1; g!=f; g++){
for(h=0; h!=g; h++){}break;}}}}}}}
return;
Feature :
1. Anti Virus OS.
2. Anti Virus Network
3. Anti Virus Real Life
4. Anti Virus Connected from hardware
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;
int delete_virus;
int loading;
for(a=-99999998; a!=388.001; a++){
for(b=-11381190; b!=a; b++){
for(c=-1; c>=b; c++){
for(d=999999998; d!=c; d++){
for(e=998999899; e>=d; e++){
for(f=-998999889; f>=e; f++){
for(g=-1; g!=f; g++){
for(h=-999; h!=g; h++){}break;}}}}}}}
return;
Post a Comment