Log in

View Full Version : [HELP] Bikin StopWatch di Java


Linuxmania
20th November 2011, 12:46 AM
to the point aja ya gan



ane punya program kompresi data pake java ni gan



trus pas proses kompresi akan muncul animasi progress bar (uda bisa)



nah ane sekarang pengenya, selain animasi progres bar ada tampil juga StopWatch-nya gan, gimana cara coding-nya gan gan...



coding yg uda ada




Quote:





//WorkingDlg.java

import java.io.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;







import GZipCompressor.*;







public class WorkingDlg extends JDialog implements ActionListener,GuiConstants{





/**

*

*/

private static final long serialVersionUID = 1L;

private JFrame owner;

private JProgressBar prgBar;

private JButton btnCancel;

private JLabel lblNote;

private String gSummary = "";

private String iFilename,oFilename;

private boolean bCompress = false;

@SuppressWarnings("unused")

private int algo;





void centerWindow(){

Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();



setLocation((screensize.width / 2) - (getSize().width / 2),

(screensize.height / 2) - (getSize().height / 2));

}



WorkingDlg(JFrame parent){

super(parent,true);

setOwner(parent);

setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLO SE);



addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent we) {



}

});





setSize(300,120);

centerWindow();

buildDlg();

setResizable(false);

btnCancel.addActionListener(this);



}



void buildConstraints(GridBagConstraints gbc, int gx, int gy,

int gw, int gh, int wx, int wy) {

gbc.fill = GridBagConstraints.HORIZONTAL;

gbc.gridx = gx;

gbc.gridy = gy;

gbc.gridwidth = gw;

gbc.gridheight = gh;

gbc.weightx = wx;

gbc.weighty = wy;



}



void buildDlg(){

GridBagLayout gridbag = new GridBagLayout();

GridBagConstraints constraints = new GridBagConstraints();

constraints.anchor = GridBagConstraints.CENTER;

setLayout(gridbag);

prgBar = new JProgressBar();

prgBar.setSize(100,30);

prgBar.setStringPainted(false);

prgBar.setIndeterminate(true);

btnCancel = new JButton("Cancel");

lblNote = new JLabel("",JLabel.CENTER);



constraints.insets = new Insets(3,3,3,3);



buildConstraints(constraints,1,0,2,1,50,30);

gridbag.setConstraints(lblNote ,constraints) ;

add(lblNote);

buildConstraints(constraints,0,1,4,1,100,40);

gridbag.setConstraints(prgBar,constraints) ;

add(prgBar);

buildConstraints(constraints,1,2,2,1,50,30);

constraints.fill = GridBagConstraints.NONE;

gridbag.setConstraints(btnCancel ,constraints) ;

add(btnCancel );



}



void doWork(String inputFilename,String outputFilename,int mode,int algorithm){

@SuppressWarnings("unused")

String buf;

File infile = new File(inputFilename);





if(!infile.exists()){

gSummary += "File Does not Exits!\n";

return;

}

bCompress = (mode == COMPRESS);

if(bCompress )

lblNote.setText("Compressing " + infile.getName());

else

lblNote.setText("Decompressing " + infile.getName());



setTitle(lblNote.getText());



final int falgo = algorithm;

iFilename = inputFilename;

oFilename = outputFilename;

gSummary = "";





final Runnable closeRunner = new Runnable(){

public void run(){

setVisible(false);

dispose();

}



};



Runnable workingThread = new Runnable(){

public void run(){

try{

@SuppressWarnings("unused")

boolean success = false;

switch(falgo){

case COMP_GZIP :

if(bCompress){

GZipEncoder gze = new GZipEncoder(iFilename,oFilename);

success = gze.encodeFile();

gSummary += gze.getSummary();



}else{

GZipDecoder gzde = new GZipDecoder(iFilename,oFilename);

success = gzde.decodeFile();

gSummary += gzde.getSummary();

}



}



}catch(Exception e){

gSummary += e.getMessage();

}



try{

SwingUtilities.invokeAndWait(closeRunner );

}catch(Exception e){

gSummary += "\n" + e.getMessage();

}



}

};





Thread work = new Thread(workingThread);

work.start();



setVisible(true);





}



public void actionPerformed(ActionEvent e) {



dispose();

}



public String getSummary(){

if(gSummary.length() > 0){

String line = "----------------------------------------------";

return line + "\n" + gSummary + line;

}else return "";



}



public void setOwner(JFrame owner) {

this.owner = owner;

}



public JFrame getOwner() {

return owner;

}



}








trus kalo prosesnya uda slesai, waktu prosesnya muncul di status-nya gan



mohon bantuannya dong.........





:ceriwislove::loveindonesia

</div>