Page | 88
public class clientGUI extends javax.swing.JFrame {
Page | 89 ServerSocket sersock;
ArrayList<String> al = new ArrayList<String>();
tablemodel tm;
JLabel lb ; String speed3;
ArrayList<SearchFiles> files = new ArrayList<SearchFiles>();
tablemodel1 tm1;
String msg = "";
ArrayList<speed> sp1 = new ArrayList<speed>();
ArrayList<SearchFiles> upc = new ArrayList<SearchFiles>();
ArrayList<history> his=new ArrayList<history>();
tablemodel3 tm3 = new tablemodel3();
boolean searchRequest = false;
boolean downloadRequest = false;
boolean canceldownload=false;
boolean test=false;
boolean testDownloadingSpeed=false;
boolean progressbar=false;
client cl;
Page | 90
tablemodel5 tm5=new tablemodel5();
boolean view=false;
ip= JOptionPane.showInputDialog("enter the ip address of server");
if(ip!=null)
Page | 91 if (!(f.exists()))
{
JOptionPane.showMessageDialog(null, "folder shared doesnot not exist...so create it first");
f.mkdir();
}
if(!(f3.exists())) {
JOptionPane.showMessageDialog(null, "text document download history doesnot not exist...so create it first");
f3.createNewFile();
}
if(!(f4.exists())) {
JOptionPane.showMessageDialog(null, "sharedpath document doesnot not exist...so create it first");
fr1 = new FileReader("e:\\sharedpath.txt");
br1 = new BufferedReader(fr1);
sharedpath = br1.readLine();
fr1.close();
FileOutputStream test1= new FileOutputStream(test);
Page | 92 byte b[]=new byte[50*1024*1024];
test1.write(b);
System.out.println("MY SHARED FOLDER IS : " + sharedpath);
tm = new tablemodel();
Page | 93
JOptionPane.showMessageDialog(null, "Cannot connect to server");
} }
bt.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btActionPerformed(evt);
} });
getContentPane().add(bt);
bt.setBounds(20, 60, 160, 40);
jButton1.setFont(new java.awt.Font("Tahoma", 1, 12));
Page | 94 jButton1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/5617537541701984404.png"))); //
NOI18N
jButton1.setText("Get List");
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton1MouseClicked(evt);
} });
jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt);
}
jButton2.setFont(new java.awt.Font("Tahoma", 1, 12));
jButton2.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/images/check.gif")));
// NOI18N
jButton2.setText("Check Mini Server");
jButton2.addActionListener(new java.awt.event.ActionListener() {
Page | 95
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel1.setText("MINI SERVER STATUS : ");
getContentPane().add(jLabel1);
jLabel1.setBounds(210, 320, 190, 30);
getContentPane().add(tfsearch);
tfsearch.setBounds(390, 60, 240, 40);
btsearch.setFont(new java.awt.Font("Tahoma", 1, 12));
btsearch.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/images/search.png")));
// NOI18N
btsearch.setText("Search");
btsearch.setMaximumSize(new java.awt.Dimension(131, 41));
btsearch.setMinimumSize(new java.awt.Dimension(131, 41));
btsearch.setPreferredSize(new java.awt.Dimension(131, 41));
btsearch.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
btsearchMouseClicked(evt);
Page | 96 }
});
btsearch.addActionListener(new java.awt.event.ActionListener() {
jScrollPane2.setViewportView(jTable2);
getContentPane().add(jScrollPane2);
jScrollPane2.setBounds(390, 110, 580, 190);
btpath.setFont(new java.awt.Font("Tahoma", 1, 12));
btpath.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/images/1907449.png")));
// NOI18N
btpath.setText("My shared path");
btpath.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btpathActionPerformed(evt);
Page | 97 });
getContentPane().add(jButton3);
jButton3.setBounds(580, 310, 180, 40);
btdh.setFont(new java.awt.Font("Tahoma", 1, 12));
btdh.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/h5.jpg"))); //
NOI18N
btdh.setText("Download History");
btdh.addActionListener(new java.awt.event.ActionListener() {
themes.setFont(new java.awt.Font("Tahoma", 1, 12));
themes.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Select Theme", "Baby Blue", "Aqua Green", "Plain Brown", "Pink Passion", "Abstract Blue ",
"Peacock", "Stunningl Blue", "Amazing Cyan ", "Crazy Flowers" }));
themes.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
themesActionPerformed(evt);
}
Page | 98 });
getContentPane().add(themes);
themes.setBounds(800, 20, 170, 30);
jButton4.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jButton4.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/images/delete_over.png") )); // NOI18N
jButton4.setText("Cancel Download");
jButton4.addActionListener(new java.awt.event.ActionListener() {
jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/abcd.jpg")));
getContentPane().add(jLabel6);
jLabel6.setBounds(0, 0, 990, 720);
pack();
}// </editor-fold>//GEN-END:initComponents
private void btActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btActionPerformed
cl = new client(ip);
jLabel5.setVisible(true);
Page | 99 }//GEN-LAST:event_btActionPerformed
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
cl.pw.println("getlist");
cl.pw.flush();
}//GEN-LAST:event_jButton1ActionPerformed
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
JOptionPane.showMessageDialog(null, "Select IP first !!!");
}
}//GEN-LAST:event_jButton2ActionPerformed
private void btsearchActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btsearchActionPerformed
if(getlist==false) {
JOptionPane.showMessageDialog(null,"first click the start & getlist button");
}
searchRequest = true;
Page | 100
private void btpathActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btpathActionPerformed
sp = new searchpath(this, sharedpath);
}//GEN-LAST:event_btpathActionPerformed
private void btdownloadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btdownloadActionPerformed
JOptionPane.showMessageDialog(this, "Please select an item from list before sending download request");
Page | 101
private void btdownloadItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_btdownloadItemStateChanged
// TODO add your handling code here:
}//GEN-LAST:event_btdownloadItemStateChanged
private void viewButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_viewButton3ActionPerformed
peerinfo pinfo = new peerinfo();
}//GEN-LAST:event_viewButton3ActionPerformed
private void btchatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btchatActionPerformed
try
Page | 102
JOptionPane.showMessageDialog(null, "Please select an IP Address before sending message");
MessageRequest = true;
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
sp1.clear();
System.out.println("link speed object to be created");
testspeed ts=new testspeed();
}//GEN-LAST:event_jButton3ActionPerformed
private void btdhActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btdhActionPerformed
history1 h1=new history1();
}//GEN-LAST:event_btdhActionPerformed
private void themesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_themesActionPerformed
Page | 103 int m;
m=jTable2.getSelectedRow();
if (m == -1) {
JOptionPane.showMessageDialog(this, " Start download first");
} else {
int p=JOptionPane.showConfirmDialog(this, "Are you sure to cancel download", "cancel download",JOptionPane.OK_CANCEL_OPTION);
JOptionPane.showMessageDialog(null, "Downloading is cancelled");
}
Page | 104 {
ex.printStackTrace();
}
}//GEN-LAST:event_jButton4ActionPerformed public class client implements Runnable
{
Page | 105 {
JOptionPane.showMessageDialog(null,"Cannot connected to server");
}
Page | 106 catch (Exception ex)
{
JOptionPane.showMessageDialog(null,"Main Server Is Not Running");
ex.printStackTrace();
} } }
class tablemodel extends AbstractTableModel {
Page | 107
class tablemodel1 extends AbstractTableModel {
String title[] = {"FILE NAME", "IP ADDRESS", "FILE SIZE"};
@Override
Page | 108 return files.get(rowIndex).filesizekb;
} } }
class CellModel extends DefaultTableCellRenderer { JLabel lb = new JLabel();
ImageIcon icon;
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
Page | 109
public class miniserver implements Runnable { Thread t1;
Page | 110
public class miniserver_requesthandler implements Runnable { Thread t2;
Socket sc1;
DataOutputStream dos;
DataInputStream dis;
String s;
Page | 111 miniserver_requesthandler(Socket sc1)
{ try {
System.out.println("mini_server request handler constructor");
this.sc1 = sc1;
dos = new DataOutputStream(this.sc1.getOutputStream());
dis = new DataInputStream(this.sc1.getInputStream());
t2 = new Thread(this);
System.out.println("In miniserver run mehtod");
s = dis.readLine();
System.out.println("Read first line in miniserver : " + s);
Page | 112
System.out.println("Total files searched : " + files.length);
int count = 0;
for (int i = 0; i < files.length; i++) {
Page | 113
Page | 114
Page | 115
else if(size<1024*1024*1024) {
upc.add(new SearchFiles(strdw, sc.getInetAddress().getHostAddress(), read ));
tm3.fireTableDataChanged();
Page | 116
Page | 117
StringTokenizer mp = new StringTokenizer(s1, ",");
mp.nextToken();
msg = msg + "<h3 color=\"blue\">Message from</h3>" +
sc1.getInetAddress().getHostAddress() + "\n" + mp.nextToken() + "\n\n";
jEditorPane1.setText(msg);
public class miniclient implements Runnable
Page | 118
Page | 119
Page | 120 String str = tfsearch.getText().trim();
if (str.equals("") || str == null) {
JOptionPane.showMessageDialog(null, "Write proper string first");
}
JOptionPane.showMessageDialog(null, "File not found!!");
}
Page | 121
files.add(new SearchFiles(filename, ip, flength + " MB"));
}
files.add(new SearchFiles(filename, ip, flength + " bytes"));
}
tm1.fireTableDataChanged();
} } }
Page | 122 }
searchRequest = false;
}
if (downloadRequest == true) {
Page | 123
Page | 124
Page | 125
Page | 126
Page | 127
Page | 128
Page | 129
"</h3 ><h3 color=\"red\">sent to:</h3>" + ip + "\n";
Page | 130
Page | 131
Page | 132
Page | 133
j4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/peers.png")));
j2.setBounds(350, 2, 440, 100);
jl.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/solid-baby-blue.jpg")));
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Page | 134 setSize(1000, 800);
tm3.fireTableDataChanged();
} }
public class testspeed extends JFrame implements ActionListener {
ArrayList<speed> sp1 = new ArrayList<speed>();
JLabel pic;
Page | 135
Page | 136 lb.setFont(new java.awt.Font("Serif", 3, 18));
lb.setText("Checking link speed...please wait !!!!!!");
lb.setBounds(100,550,400,90);
lb.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/3d.gif")));
jsp1 = new JScrollPane(jtable4);
jsp1.setBounds(100, 150, 400, 370);
jp1.add(jsp1);
add(jp1);
jp1.add(back);
back.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/solid-baby-blue.jpg")));
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(1000, 800);
}
class testing implements Runnable {
Page | 137
Page | 138 r.printStackTrace();
} } }
public class history1 extends JFrame {
Page | 139 j1.setText("Download History");
j1.setBounds(350, 2, 440, 100);
pic=new JLabel();
pic.setBounds(550, 180, 400, 350);
pic.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/hist.png")));
jp2.add(pic);
back.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/solid-baby-blue.jpg")));
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(1000, 800);
tm5.fireTableDataChanged();
} }
class tablemodel3 extends AbstractTableModel {
String title[] = {"File Name", "IP Address", "File Size"};
public int getRowCount() {
Page | 140
return upc.get(rowIndex).ipAddress;
} else {
return upc.get(rowIndex).filesizekb;
Page | 141
java.awt.EventQueue.invokeLater(new Runnable() {
// Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton bt;
private javax.swing.JButton btchat;
private javax.swing.JButton btdh;
private javax.swing.JButton btdownload;
private javax.swing.JTable jTable1;
private javax.swing.JTable jTable2;
private javax.swing.JProgressBar jpbar;
private javax.swing.JTextField textboxchat;
private javax.swing.JTextField tfsearch;
private javax.swing.JComboBox t
Page | 142