added support for displaying list of files but need scrollbar

This commit is contained in:
js 2020-04-03 14:03:40 +02:00
parent 05a2967645
commit 4167cc3aa6
4 changed files with 95 additions and 49 deletions

View File

@ -4,9 +4,9 @@ import javax.swing.JFrame;
public class Gui{
public static void main(String[] args) {
MainWindow win = new MainWindow();
}
public static void main(String[] args) {
MainWindow win = new MainWindow();
}
}

View File

@ -4,14 +4,18 @@ import javax.swing.JFrame;
public class MainWindow extends JFrame{
public MainWindow(){
JFrame fenetre = new JFrame();
fenetre.setTitle("Client");
fenetre.setSize(550, 200);
fenetre.setLocationRelativeTo(null);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.add(new Parameters());
fenetre.setVisible(true);
}
private static final long serialVersionUID = 13L;
public MainWindow(){
JFrame fenetre = new JFrame();
fenetre.setTitle("Client");
fenetre.setSize(550, 200);
fenetre.setLocationRelativeTo(null);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//fenetre.add(new Parameters());
String[] listTest = {"test", "test2", "test3", "test4", "test5", "test6", "test7"};
fenetre.add(new downloadSelection(listTest));
fenetre.setVisible(true);
}
}

View File

@ -11,43 +11,44 @@ import java.awt.GridLayout;
public class Parameters extends JPanel{
private JLabel label1, label2, label3, label4, label5;
private JTextField field1, field2, field3, field4;
private JButton connectButton;
private JComboBox<String> protocolSelector;
private static final long serialVersionUID = 13L;
private JLabel label1, label2, label3, label4, label5;
private JTextField field1, field2, field3, field4;
private JButton connectButton;
private JComboBox<String> protocolSelector;
public Parameters(){
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(5, 2));
FlowLayout layout = new FlowLayout();
JPanel p2 = new JPanel();
p2.setLayout(layout);
String[] elements = {"TCP", "UDP"};
this.label1 = new JLabel("Server hostname: ");
this.label2 = new JLabel("Server port: ");
this.label3 = new JLabel("Tracker hostname: ");
this.label4 = new JLabel("Tracker port: ");
this.label5 = new JLabel("Protocol: ");
this.field1 = new JTextField(20);
this.field2 = new JTextField(20);
this.field3 = new JTextField(20);
this.field4 = new JTextField(20);
this.connectButton = new JButton("Connect");
protocolSelector = new JComboBox<>(elements);
p1.add(label1);
p1.add(field1);
p1.add(label2);
p1.add(field2);
p1.add(label3);
p1.add(field3);
p1.add(label4);
p1.add(field4);
p1.add(label5);
p1.add(protocolSelector);
p2.add(connectButton);
this.add(p1, BorderLayout.NORTH);
this.add(p2, BorderLayout.SOUTH);
setVisible(true);
}
public Parameters(){
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(5, 2));
FlowLayout layout = new FlowLayout();
JPanel p2 = new JPanel();
p2.setLayout(layout);
String[] elements = {"TCP", "UDP"};
this.label1 = new JLabel("Server hostname: ");
this.label2 = new JLabel("Server port: ");
this.label3 = new JLabel("Tracker hostname: ");
this.label4 = new JLabel("Tracker port: ");
this.label5 = new JLabel("Protocol: ");
this.field1 = new JTextField(20);
this.field2 = new JTextField(20);
this.field3 = new JTextField(20);
this.field4 = new JTextField(20);
this.connectButton = new JButton("Connect");
protocolSelector = new JComboBox<>(elements);
p1.add(label1);
p1.add(field1);
p1.add(label2);
p1.add(field2);
p1.add(label3);
p1.add(field3);
p1.add(label4);
p1.add(field4);
p1.add(label5);
p1.add(protocolSelector);
p2.add(connectButton);
this.add(p1, BorderLayout.NORTH);
this.add(p2, BorderLayout.SOUTH);
setVisible(true);
}
}

View File

@ -0,0 +1,41 @@
package gui;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JList;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
public class downloadSelection extends JPanel {
private static final long serialVersionUID = 13L;
private String[] listFilesToDownload;
private JList<String> list1;
private JLabel label1;
private JButton downloadButton;
public downloadSelection(String[] listFilesToDownload){
JPanel p1 = new JPanel();
JPanel p3 = new JPanel();
FlowLayout layout = new FlowLayout();
this.listFilesToDownload = listFilesToDownload;
this.list1 = new JList<>(listFilesToDownload);
this.label1 = new JLabel("List of files you can download: ");
this.downloadButton = new JButton("download");
this.list1.setSelectedIndex(0);
p1.setLayout(new GridLayout(1, 2));
p3.setLayout(layout);
this.setLayout(new GridLayout(2, 1));
p1.add(label1);
p1.add(list1);
p3.add(downloadButton);
this.add(p1);
this.add(p3);
setVisible(true);
}
}