This repository has been archived on 2018-03-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
jLSLauncher/src/com/ixab/GUI/StreamChooserMenu.java
T

101 lines
3.9 KiB
Java
Raw Normal View History

2015-11-06 18:15:26 +01:00
package com.ixab.GUI;
import com.ixab.ConfigHandling.ConfigFileIOHandler;
import com.ixab.ConfigHandling.ConfigFileInstanceHandler;
2015-11-07 00:19:11 +01:00
import com.ixab.StreamHandling.StreamInfo;
import com.ixab.StreamHandling.StreamOpener;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
2015-11-06 18:15:26 +01:00
public class StreamChooserMenu {
private JPanel panel;
2015-11-07 00:19:11 +01:00
private JComboBox comboBoxStreams;
private JComboBox comboBox2;
private JTextField textField1;
private JButton hinzufügenButton;
private JButton streamAbspielenButton;
private JButton entfernenButton;
2015-11-07 00:19:11 +01:00
private JLabel labelStreamStatus;
private JLabel labelStreamViewers;
private JLabel labelStreamTitle;
private JLabel labelStreamGame;
public StreamChooserMenu() {
this.initComboBoxes();
streamAbspielenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
2015-11-07 00:19:11 +01:00
StreamOpener so = new StreamOpener(ConfigFileInstanceHandler.getConfig(), ConfigFileInstanceHandler.getConfig().getStreams().indexOf(comboBoxStreams.getSelectedItem()), comboBox2.getSelectedItem().toString());
so.start();
}
});
hinzufügenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
addNewStream();
}
});
entfernenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
2015-11-07 00:19:11 +01:00
ConfigFileInstanceHandler.getConfig().removeStream(comboBoxStreams.getSelectedItem());
ConfigFileIOHandler.save(ConfigFileInstanceHandler.getConfig());
initStreamsComboBox();
}
});
2015-11-07 00:19:11 +01:00
comboBoxStreams.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO: implement twitch api and update stream info
2015-11-07 00:19:11 +01:00
StreamInfo.getStreamInfo(comboBoxStreams.getSelectedItem().toString());
labelStreamStatus.setText(StreamInfo.getStatus());
labelStreamGame.setText(StreamInfo.getGame());
labelStreamViewers.setText(StreamInfo.getViewers());
labelStreamTitle.setText(StreamInfo.getTitle());
}
});
textField1.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
super.keyPressed(e);
if (textField1.isFocusOwner() && e.getKeyCode() == 10) {
addNewStream();
}
}
});
}
private void addNewStream() {
ConfigFileInstanceHandler.getConfig().addStream(textField1.getText());
ConfigFileIOHandler.save(ConfigFileInstanceHandler.getConfig());
initStreamsComboBox();
textField1.setText("");
}
private void initComboBoxes() {
initQualityComboBox();
initStreamsComboBox();
}
private void initStreamsComboBox() {
2015-11-07 00:19:11 +01:00
comboBoxStreams.removeAllItems();
for (String streamName :
ConfigFileInstanceHandler.getConfig().getStreams()) {
2015-11-07 00:19:11 +01:00
comboBoxStreams.addItem(streamName);
}
}
private void initQualityComboBox() {
comboBox2.removeAllItems();
comboBox2.addItem("best"); comboBox2.addItem("high"); comboBox2.addItem("medium"); comboBox2.addItem("low"); comboBox2.addItem("mobile");
}
public static void main(String[] args) {
JFrame frame = new JFrame("jLSLauncher v"+ com.ixab.Main.getVersion());
frame.setContentPane(new StreamChooserMenu().panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
2015-11-06 18:15:26 +01:00
}