KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > rero > dialogs > dcc > SendRequest


1 package rero.dialogs.dcc;
2
3 import java.awt.*;
4 import java.awt.event.*;
5
6 import javax.swing.*;
7 import javax.swing.event.*;
8
9 import java.util.*;
10 import java.io.*;
11
12 import rero.dialogs.toolkit.*;
13 import rero.dcc.*;
14
15 import rero.util.*;
16
17 public class SendRequest extends APanel
18 {
19     protected FileField fileField;
20     protected Receive receive; // the *receiving* end - *uNF*
21

22     public static boolean showDialog(Component component, ConnectDCC connect)
23     {
24        long start = System.currentTimeMillis();
25        SendRequest request = new SendRequest();
26        request.setupDialog(connect);
27
28        ADialog dialog = new ADialog(component, "DCC Send Request", request, null);
29        dialog.pack();
30        return (dialog.showDialog(component) != null);
31     }
32
33     public void setupDialog(Object JavaDoc value)
34     {
35        JPanel space = new JPanel();
36        space.setPreferredSize(new Dimension(0, 15));
37
38        JPanel space2 = new JPanel();
39        space2.setPreferredSize(new Dimension(0, 15));
40
41        LabelGroup labels = new LabelGroup();
42        JLabel user, file, size, saveas, host, blank;
43
44        user = new JLabel("User: ");
45        host = new JLabel("Host: ");
46        file = new JLabel("File: ");
47        size = new JLabel("Size: ");
48        saveas = new JLabel("Save As: ");
49        blank = new JLabel("");
50
51        labels.addLabel(user); labels.addLabel(file); labels.addLabel(size); labels.addLabel(saveas); labels.addLabel(blank); labels.addLabel(host);
52        labels.sync(); // lines the labels up
53

54        ConnectDCC info1 = (ConnectDCC)value;
55        Receive info2 = (Receive)info1.getImplementation();
56
57        receive = info2;
58
59        PlainLabel iuser, ifile, isize, ihost;
60
61        iuser = new PlainLabel(info2.getNickname());
62        ihost = new PlainLabel(info1.getHost() + ":" + info1.getPort());
63        ifile = new PlainLabel(info2.getFile().getName());
64        isize = new PlainLabel(ClientUtils.formatBytes(info2.getExpectedSize()));
65
66        addComponent(new PlainLabel("A user is attempting to send you a file"));
67
68        addComponent(space2);
69
70        addComponent(mergeComponents(user, iuser));
71        addComponent(mergeComponents(host, ihost));
72        addComponent(mergeComponents(file, ifile));
73        addComponent(mergeComponents(size, isize));
74
75        addComponent(space);
76
77        fileField = new FileField(info2.getFile(), false);
78        addComponent(mergeComponents(saveas, fileField, 15));
79     }
80  
81     public Object JavaDoc getValue(Object JavaDoc defvalue)
82     {
83        receive.setFile(fileField.getSelectedFile()); // getValue() only called when we have a confirmed acceptance
84
return "";
85     }
86 }
87
Popular Tags