1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
| private static String directoryToScan = "long/file/path/that/takes/all/space";
private static String directoryToParse = "parse/";
private static Text log;
public static void main(String[] args)
{
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("Interface");
GridLayout gridLayout = new GridLayout(4, false);
gridLayout.verticalSpacing = 8;
shell.setLayout(gridLayout);
Button source = new Button(shell, SWT.NULL);
source.setText("Source...");
GridData gridData = new GridData();
gridData.horizontalSpan = 1;
gridData.verticalSpan = 2;
gridData.heightHint = 50;
gridData.widthHint = 100;
source.setLayoutData(gridData);
Label sourceLabel = new Label(shell, SWT.NULL);
sourceLabel.setText("Dossier source : ");
gridData = new GridData(SWT.LEFT, SWT.TOP, false, false);
sourceLabel.setLayoutData(gridData);
final Label sourceResLabel = new Label(shell, SWT.NULL);
sourceResLabel.setText(directoryToScan);
gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
gridData.horizontalSpan = 2;
sourceResLabel.setLayoutData(gridData);
source.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e)
{
DirectoryDialog dialog = new DirectoryDialog(shell, SWT.OPEN);
String file = dialog.open();
if (file != null)
{
sourceResLabel.setText(file);
directoryToScan = file;
}
}
});
Label destLabel = new Label(shell, SWT.NULL);
destLabel.setText("Dossier destination : ");
gridData = new GridData(SWT.LEFT, SWT.TOP, false, false);
destLabel.setLayoutData(gridData);
Label destResLabel = new Label(shell, SWT.NULL);
destResLabel.setText(directoryToParse);
gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
gridData.horizontalSpan = 2;
destResLabel.setLayoutData(gridData);
final Button generate = new Button(shell, SWT.PUSH);
generate.setText("Générer");
gridData = new GridData();
gridData.heightHint = 30;
gridData.widthHint = 100;
gridData.horizontalSpan = 3;
gridData.horizontalAlignment = GridData.CENTER;
generate.setLayoutData(gridData);
generate.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e)
{
log.setText("Logging...");
new Thread(new Runnable() {
@Override
public void run()
{
final int[] number = new int[] { 0 };
do
{
try
{
Thread.sleep(500);
} catch (InterruptedException e)
{
e.printStackTrace();
}
number[0]++;
display.asyncExec(new Runnable() {
public void run()
{
log.setText(log.getText() + "\nLog entry: " + number[0]);
}
});
} while (number[0] < 10);
}
}).start();
generate.setEnabled(true);
}
});
log = new Text(shell, SWT.WRAP | SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.READ_ONLY);
gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1);
log.setLayoutData(gridData);
shell.setSize(450, 400);
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
} |
Partager