Server version combo is updated on server type change

This commit is contained in:
2018-01-30 13:39:09 +01:00
parent 1c00ae9bab
commit 559e7bb38a
4 changed files with 110 additions and 23 deletions

View File

@ -94,6 +94,10 @@ public class GUI implements ActionListener {
return gui;
}
public ArrayList<ServerTab> getServerTabs() {
return this.serverTabs;
}
/**
* Removes a server's tab, removes it from the list of tabs, and removes the server from Profile.java
*
@ -101,7 +105,6 @@ public class GUI implements ActionListener {
*/
public void removeServer(ServerTab tab) {
for (int i = 0; i < this.serverTabs.size(); i++) {
System.out.println(this.serverTabs.get(i));
if(this.serverTabs.get(i) == tab) {
serversPane.remove(i);
currentProfile().removeServer(i);
@ -473,6 +476,7 @@ public class GUI implements ActionListener {
*/
private void save() {
//TODO: Finish save
}
/**

View File

@ -16,6 +16,7 @@ class ServerTab implements ActionListener {
private final JButton btnBrowse;
private final JTextField directory;
//TODO: Add custom input field + update combo boxes on version change.
public ServerTab(String name) {
JPanel panel = new JPanel();
@ -113,6 +114,31 @@ class ServerTab implements ActionListener {
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
directory.setText(chooser.getSelectedFile().toString());
}
} else if (e.getSource() == serverTypes) {
serverVersions.removeAllItems();
String selectedserverTypes = null;
Object selectedType = serverTypes.getSelectedItem();
if (selectedType != null) {
selectedserverTypes = selectedType.toString();
}
if (selectedserverTypes != null) {
if (selectedserverTypes.equals("Custom")) {
serverVersions.setEditable(true);
} else {
serverVersions.setEditable(false);
ServerType current = null;
for (ServerType servertype : ServerType.getServerTypes()) {
if (servertype.getName().equals(selectedserverTypes)) {
current = servertype;
}
}
if (current != null) {
for (String version : current.getVersions()) {
serverVersions.addItem(version);
}
}
}
}
}
}
}