導航:首頁 > 編程語言 > java進度條實現

java進度條實現

發布時間:2022-07-05 01:01:06

1. java中如何實現進度條效果

import java.awt.Color; import java.awt.Toolkit; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JProgressBar; import javax.swing.JWindow; @SuppressWarnings("serial") public class Demo extends JWindow implements Runnable { // 定義載入窗口大小 public static final int LOAD_WIDTH = 455; public static final int LOAD_HEIGHT = 295; // 獲取屏幕窗口大小 public static final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width; public static final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height; // 定義進度條組件 public JProgressBar progressbar; // 定義標簽組件 public JLabel label; // 構造函數 public Demo() { // 創建標簽,並在標簽上放置一張圖片 label = new JLabel(new ImageIcon("images/background.jpg")); label.setBounds(0, 0, LOAD_WIDTH, LOAD_HEIGHT - 15); // 創建進度條 progressbar = new JProgressBar(); // 顯示當前進度值信息 progressbar.setStringPainted(true); // 設置進度條邊框不顯示 progressbar.setBorderPainted(false); // 設置進度條的前景色 progressbar.setForeground(new Color(0, 210, 40)); // 設置進度條的背景色 progressbar.setBackground(new Color(188, 190, 194)); progressbar.setBounds(0, LOAD_HEIGHT - 15, LOAD_WIDTH, 15); // 添加組件 this.add(label); this.add(progressbar); // 設置布局為空 this.setLayout(null); // 設置窗口初始位置 this.setLocation((WIDTH - LOAD_WIDTH) / 2, (HEIGHT - LOAD_HEIGHT) / 2); // 設置窗口大小 this.setSize(LOAD_WIDTH, LOAD_HEIGHT); // 設置窗口顯示 this.setVisible(true); } public static void main(String[] args) { Demo t = new Demo(); new Thread(t).start(); } @Override public void run() { for (int i = 0; i < 100; i++) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } progressbar.setValue(i); } JOptionPane.showMessageDialog(this, "載入完成"); this.dispose(); } }

2. java的進度條問題 這個程序如何實現一運行程序進度條就自動走 謝謝

public class NewJFrame extends javax.swing.JFrame implements ActionListener, ChangeListener {

public NewJFrame() {
initComponents();
Timer timer = new Timer(50, this);
timer.setRepeats(true);
timer.start();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();
jProgressBar1 = new javax.swing.JProgressBar();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setAlwaysOnTop(true);
getContentPane().setLayout(new java.awt.CardLayout());

jPanel1.setPreferredSize(new java.awt.Dimension(600, 350));
jPanel1.setVerifyInputWhenFocusTarget(false);
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.add(jProgressBar1, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 294, 270, 10));

// jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/splashTimer.jpg"))); // NOI18N
jLabel1.setMaximumSize(new java.awt.Dimension(600, 350));
jLabel1.setMinimumSize(new java.awt.Dimension(600, 350));
jLabel1.setPreferredSize(new java.awt.Dimension(600, 350));
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));

getContentPane().add(jPanel1, "card2");

pack();
}// </editor-fold>

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new NewJFrame().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JProgressBar jProgressBar1;
// End of variables declaration

public void stateChanged(ChangeEvent e1) {
int value = jProgressBar1.getValue();
if (e1.getSource() == jProgressBar1) {
}
}

public void actionPerformed(ActionEvent e) {
int value = jProgressBar1.getValue();
if (value < 100) {
value++;
jProgressBar1.setValue(value);
} else {
jProgressBar1.setValue(0);
}
}
}

終於看到個用netbeans的人了。。

3. 如何用java相關的知識實現一個進度條

根據HTTP協議,只能是請求-響應模式,伺服器是不能主動發消息給客戶端的
你要做這種效果,
第一種辦法
在客戶端遞歸調用請求方法,來檢測做到什麼程度了
但這樣不好,對伺服器壓力很大
第二種辦法
根據你自己的業務邏輯,
把業務邏輯拆分,做第一步請求伺服器,伺服器做好,給予響應,客戶端顯示完成xx%,然後做下一步

這兩種辦法都是要用AJAX,你要的這種效果也只能用ajax

4. JAVA 進度條

直接上官方示例

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.beans.*;
importjava.util.Random;


implementsActionListener,
PropertyChangeListener{

;
privateJButtonstartButton;
privateJTextAreataskOutput;
privateTasktask;

classTaskextendsSwingWorker<Void,Void>{
/*
*Maintask.Executedinbackgroundthread.
*/
@Override
publicVoiddoInBackground(){
Randomrandom=newRandom();
intprogress=0;
//Initializeprogressproperty.
setProgress(0);
while(progress<100){
//Sleepforuptoonesecond.
try{
Thread.sleep(random.nextInt(1000));
}catch(InterruptedExceptionignore){}
//Makerandomprogress.
progress+=random.nextInt(10);
setProgress(Math.min(progress,100));
}
returnnull;
}

/*
*
*/
@Override
publicvoiddone(){
Toolkit.getDefaultToolkit().beep();
startButton.setEnabled(true);
setCursor(null);//turnoffthewaitcursor
taskOutput.append("Done! ");
}
}

publicProgressBarDemo(){
super(newBorderLayout());

//Createthedemo'sUI.
startButton=newJButton("Start");
startButton.setActionCommand("start");
startButton.addActionListener(this);

progressBar=newJProgressBar(0,100);
progressBar.setValue(0);
progressBar.setStringPainted(true);

taskOutput=newJTextArea(5,20);
taskOutput.setMargin(newInsets(5,5,5,5));
taskOutput.setEditable(false);

JPanelpanel=newJPanel();
panel.add(startButton);
panel.add(progressBar);

add(panel,BorderLayout.PAGE_START);
add(newJScrollPane(taskOutput),BorderLayout.CENTER);
setBorder(BorderFactory.createEmptyBorder(20,20,20,20));

}

/**
*.
*/
publicvoidactionPerformed(ActionEventevt){
startButton.setEnabled(false);
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
//Instancesofjavax.swing.SwingWorkerarenotreusuable,so
//wecreatenewinstancesasneeded.
task=newTask();
task.addPropertyChangeListener(this);
task.execute();
}

/**
*Invokedwhentask'sprogresspropertychanges.
*/
publicvoidpropertyChange(PropertyChangeEventevt){
if("progress"==evt.getPropertyName()){
intprogress=(Integer)evt.getNewValue();
progressBar.setValue(progress);
taskOutput.append(String.format(
"Completed%d%%oftask. ",task.getProgress()));
}
}


/**
*CreatetheGUIandshowit.AswithallGUIcode,thismustrun
*ontheevent-dispatchingthread.
*/
(){
//Createandsetupthewindow.
JFrameframe=newJFrame("ProgressBarDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Createandsetupthecontentpane.
JComponentnewContentPane=newProgressBarDemo();
newContentPane.setOpaque(true);//contentpanesmustbeopaque
frame.setContentPane(newContentPane);

//Displaythewindow.
frame.pack();
frame.setVisible(true);
}

publicstaticvoidmain(String[]args){
//Scheleajobfortheevent-dispatchingthread:
//'sGUI.
javax.swing.SwingUtilities.invokeLater(newRunnable(){
publicvoidrun(){
createAndShowGUI();
}
});
}
}

5. Java:進度條該如何實現呢費解

首先進度條肯定是要用線程來做了;

其次,就看你是做真的假的了?

真的,比較麻煩;要讀取報文什麼的。

假的話,就是沒有用內存的必要了,可以用一個實體,屬性包含百分比和長度,用兩個div實現。給你找張圖片看看吧,我以前做的。

6. java實現進度條

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class Test extends JFrame {
public Test(){
super();
setSize(100,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
JProgressBar progressBar = new JProgressBar();
getContentPane().add(progressBar,BorderLayout.NORTH);
progressBar.setStringPainted(true);
for (int i = 0;i < 50;i++){
progressBar.setValue(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
new Test();
}
}
for循環裡面加了個延時函數。

7. java編程:怎麼寫進度條高手進哈

進度條有三種思路:
1.人為的劃分某些標識,達到某個標識就是完成了百分之多少。
2.如果是上傳和下載附件,可以將文件大小作為100%,上傳或下載百分之多少,就是百分之多少。
3.對進度的類型所需時間進行分類。劃出幾種時間。屬於某類,大概或平均完成時間是多少,那麼就以這個時間作為100%。然後產生進度。

但,完美的進度是不可能實現的,因為你總不能先跑一遍確定時間。而且就算完全相同的條件,跑兩遍的時間也不能一定相等的。所以我們只能通過各種技巧來使進度條更加自然真實。

最後,現在很多地方都不用進度條了,全部都是一個轉動的圓圈等等。因為當你進度卡在10%半個小時,然後瞬間漲到99%,進度條已經就沒什麼意義了。

8. 怎麼做java語言進度條

在js中做一個遮罩層,當你點擊的時候顯示進度條,進度條讀完之後再隱藏,以下有兩種方式,試試,望採納
方法一:
//開啟遮罩
$.messager.progress({});

$.messager.progress({
title: 'Please waiting',
msg: 'Loading data...',
text: 'PROCESSING.......'
});
//關閉遮罩

$.messager.progress('close');
方法二:
//顯示遮罩
$("#標簽ID").標簽("loading", "數據載入中……")
$("#dg").datagrid("loading", "數據載入中……");
//隱藏遮罩
$("#dg").datagrid("loaded");

閱讀全文

與java進度條實現相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:422
個人所得稅java 瀏覽:761
多餘的伺服器滑道還有什麼用 瀏覽:192
pdf劈開合並 瀏覽:28
不能修改的pdf 瀏覽:752
同城公眾源碼 瀏覽:489
一個伺服器2個埠怎麼映射 瀏覽:298
java字元串ascii碼 瀏覽:79
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:946
安卓導航無聲音怎麼維修 瀏覽:333
app怎麼裝視頻 瀏覽:431
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491