Added ability to play mp3s from system for future music module. Continue
to improve and fix bugs with ScrollingChatModule and ChatLogModule.
This commit is contained in:
parent
824b8249d9
commit
79bb1e576b
21
.classpath
21
.classpath
@ -15,5 +15,26 @@
|
|||||||
<classpathentry kind="lib" path="lib/lwjgl-natives-windows.jar"/>
|
<classpathentry kind="lib" path="lib/lwjgl-natives-windows.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jna-4.5.0.jar"/>
|
<classpathentry kind="lib" path="lib/jna-4.5.0.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jna-platform-4.5.0.jar"/>
|
<classpathentry kind="lib" path="lib/jna-platform-4.5.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/basicplayer3.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/commons-io-2.5.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/commons-logging-api.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/jl1.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/jna-4.5.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/jna-platform-4.5.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/jogg-0.0.7.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/jorbis-0.0.15.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/jspeex0.9.7.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/lwjgl.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/lwjgl-glfw.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/lwjgl-glfw-natives-linux.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/lwjgl-glfw-natives-macos.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/lwjgl-glfw-natives-windows.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/lwjgl-natives-linux.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/lwjgl-natives-macos.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/lwjgl-natives-windows.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/mp3spi1.9.4.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/tritonus_share.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/twitch-api-wrapper-0.3-jar-with-dependencies.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Joshua Sigona/git/sigIRCv2/lib/vorbisspi1.0.2.jar"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
BIN
lib/basicplayer3.0.jar
Normal file
BIN
lib/basicplayer3.0.jar
Normal file
Binary file not shown.
BIN
lib/commons-logging-api.jar
Normal file
BIN
lib/commons-logging-api.jar
Normal file
Binary file not shown.
BIN
lib/jl1.0.jar
Normal file
BIN
lib/jl1.0.jar
Normal file
Binary file not shown.
BIN
lib/jogg-0.0.7.jar
Normal file
BIN
lib/jogg-0.0.7.jar
Normal file
Binary file not shown.
BIN
lib/jorbis-0.0.15.jar
Normal file
BIN
lib/jorbis-0.0.15.jar
Normal file
Binary file not shown.
BIN
lib/jspeex0.9.7.jar
Normal file
BIN
lib/jspeex0.9.7.jar
Normal file
Binary file not shown.
BIN
lib/mp3spi1.9.4.jar
Normal file
BIN
lib/mp3spi1.9.4.jar
Normal file
Binary file not shown.
BIN
lib/tritonus_share.jar
Normal file
BIN
lib/tritonus_share.jar
Normal file
Binary file not shown.
BIN
lib/vorbisspi1.0.2.jar
Normal file
BIN
lib/vorbisspi1.0.2.jar
Normal file
Binary file not shown.
BIN
sigIRCv2.jar
BIN
sigIRCv2.jar
Binary file not shown.
@ -1,6 +1,7 @@
|
|||||||
package sig;
|
package sig;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Cursor;
|
import java.awt.Cursor;
|
||||||
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@ -56,6 +57,11 @@ public class Module extends JFrame implements ComponentListener, WindowListener,
|
|||||||
|
|
||||||
public Module(Rectangle bounds, String moduleName) {
|
public Module(Rectangle bounds, String moduleName) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
this.addComponentListener(this);
|
this.addComponentListener(this);
|
||||||
this.addWindowListener(this);
|
this.addWindowListener(this);
|
||||||
this.addKeyListener(this);
|
this.addKeyListener(this);
|
||||||
@ -76,8 +82,8 @@ public class Module extends JFrame implements ComponentListener, WindowListener,
|
|||||||
this.titleHeight = (int)TextUtils.calculateStringBoundsFont(this.name, sigIRC.userFont).getHeight();
|
this.titleHeight = (int)TextUtils.calculateStringBoundsFont(this.name, sigIRC.userFont).getHeight();
|
||||||
|
|
||||||
|
|
||||||
this.setSize((int)position.getWidth(), (int)position.getHeight());
|
this.setMinimumSize(new Dimension((int)position.getWidth(), (int)position.getHeight()));
|
||||||
panel.setSize(this.getSize());
|
panel.setMinimumSize(this.getMinimumSize());
|
||||||
|
|
||||||
this.add(panel);
|
this.add(panel);
|
||||||
//this.pack();
|
//this.pack();
|
||||||
|
@ -4,6 +4,7 @@ import java.awt.Color;
|
|||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
@ -34,25 +35,32 @@ public class ChatLogMessage {
|
|||||||
this.refModule = ChatLogModule.chatlogmodule;
|
this.refModule = ChatLogModule.chatlogmodule;
|
||||||
this.rawMessage = rawMessage;
|
this.rawMessage = rawMessage;
|
||||||
this.position = new Point(0,(int)refModule.getPosition().getHeight()-MESSAGE_SPACING);
|
this.position = new Point(0,(int)refModule.getPosition().getHeight()-MESSAGE_SPACING);
|
||||||
|
//System.out.println("1");
|
||||||
WrapText();
|
WrapText();
|
||||||
|
//System.out.println("2");
|
||||||
for (ChatLogMessage clm : this.refModule.messageHistory) {
|
for (ChatLogMessage clm : this.refModule.messageHistory) {
|
||||||
clm.position.setLocation(
|
clm.position.setLocation(
|
||||||
clm.position.getX(),
|
clm.position.getX(),
|
||||||
clm.position.getY()-messageDisplaySize.getY());
|
clm.position.getY()-messageDisplaySize.getY());
|
||||||
//System.out.println(clm.rawMessage+": "+clm.position);
|
//System.out.println(clm.rawMessage+": "+clm.position);
|
||||||
}
|
}
|
||||||
|
//System.out.println("3");
|
||||||
this.position.setLocation(this.position.getX(), this.position.getY()-messageDisplaySize.getY()+ChatLogModule.chatlogmodule.scrolllog_yoffset);
|
this.position.setLocation(this.position.getX(), this.position.getY()-messageDisplaySize.getY()+ChatLogModule.chatlogmodule.scrolllog_yoffset);
|
||||||
//System.out.println(displayMessage);
|
//System.out.println(displayMessage);
|
||||||
this.username = DetectUsername(displayMessage);
|
this.username = DetectUsername(displayMessage);
|
||||||
|
//System.out.println("4");
|
||||||
if (this.username!=null) {
|
if (this.username!=null) {
|
||||||
displayMessage.set(0,GetMessage(displayMessage.get(0)+" "));
|
displayMessage.set(0,GetMessage(displayMessage.get(0)+" "));
|
||||||
usernameWidth = (int)TextUtils.calculateStringBoundsFont(this.username, sigIRC.userFont).getWidth();
|
usernameWidth = (int)TextUtils.calculateStringBoundsFont(this.username, sigIRC.userFont).getWidth();
|
||||||
}
|
}
|
||||||
for (int i=0;i<displayMessage.size();i++) {
|
for (int i=0;i<displayMessage.size();i++) {
|
||||||
//System.out.println("displayMessage["+i+"] before: "+displayMessage.get(i));
|
//System.out.println("displayMessage["+i+"] before: "+displayMessage.get(i));
|
||||||
displayMessage.set(i, ReplaceMessageWithEmoticons(" "+displayMessage.get(i)+" ",(i==0)?usernameWidth:0,i*MESSAGE_SPACING));
|
String msg = ReplaceMessageWithEmoticons(" "+displayMessage.get(i)+" ",(i==0)?usernameWidth:0,i*MESSAGE_SPACING);
|
||||||
|
displayMessage.set(i, msg);
|
||||||
//System.out.println("displayMessage["+i+"] after: "+displayMessage.get(i));
|
//System.out.println("displayMessage["+i+"] after: "+displayMessage.get(i));
|
||||||
}
|
}
|
||||||
|
//System.out.println("5 "+displayMessage.size());
|
||||||
|
//System.out.println("6");
|
||||||
}
|
}
|
||||||
|
|
||||||
private String ReplaceMessageWithEmoticons(String basemsg, int xpos, int ypos) {
|
private String ReplaceMessageWithEmoticons(String basemsg, int xpos, int ypos) {
|
||||||
@ -233,12 +241,16 @@ public class ChatLogMessage {
|
|||||||
|
|
||||||
public static void importMessages(String...logContents) {
|
public static void importMessages(String...logContents) {
|
||||||
if (sigIRC.chatlogmodule_enabled) {
|
if (sigIRC.chatlogmodule_enabled) {
|
||||||
|
//System.out.println("Adding chat message "+Arrays.toString(logContents));
|
||||||
for (String s : logContents) {
|
for (String s : logContents) {
|
||||||
|
//System.out.println(" For "+s+":");
|
||||||
if (s!=null) {
|
if (s!=null) {
|
||||||
if (ChatLogModule.chatlogmodule.messageHistory.size()>=ChatLogModule.messageHistoryCount) {
|
if (ChatLogModule.chatlogmodule.messageHistory.size()>=ChatLogModule.messageHistoryCount) {
|
||||||
|
//System.out.println(" Removed.");
|
||||||
ChatLogModule.chatlogmodule.messageHistory.remove(0).cleanup();
|
ChatLogModule.chatlogmodule.messageHistory.remove(0).cleanup();
|
||||||
}
|
}
|
||||||
ChatLogModule.chatlogmodule.messageHistory.add(new ChatLogMessage(s));
|
//System.out.println(" Adding "+s+".");
|
||||||
|
ChatLogModule.chatlogmodule.messageQueue.add(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ import sig.utils.DrawUtils;
|
|||||||
import sig.utils.FileUtils;
|
import sig.utils.FileUtils;
|
||||||
|
|
||||||
public class ChatLogModule extends Module{
|
public class ChatLogModule extends Module{
|
||||||
public static int messageHistoryCount = 50;
|
public static int messageHistoryCount = 20;
|
||||||
public List<ChatLogMessage> messageHistory = new ArrayList<ChatLogMessage>();
|
public List<ChatLogMessage> messageHistory = new ArrayList<ChatLogMessage>();
|
||||||
int delay = 150;
|
int delay = 150;
|
||||||
boolean initialized=false;
|
boolean initialized=false;
|
||||||
@ -34,6 +34,7 @@ public class ChatLogModule extends Module{
|
|||||||
long positionsNeedUpdating = 0; //Set it to System.currentTimeMillis() to request a configuration save.
|
long positionsNeedUpdating = 0; //Set it to System.currentTimeMillis() to request a configuration save.
|
||||||
Rectangle prevpos = (Rectangle)position.clone();
|
Rectangle prevpos = (Rectangle)position.clone();
|
||||||
int justOpened=2;
|
int justOpened=2;
|
||||||
|
public List<String> messageQueue = new ArrayList<String>();
|
||||||
|
|
||||||
|
|
||||||
public ChatLogModule(Rectangle bounds, String moduleName) {
|
public ChatLogModule(Rectangle bounds, String moduleName) {
|
||||||
@ -59,6 +60,10 @@ public class ChatLogModule extends Module{
|
|||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
super.run();
|
super.run();
|
||||||
|
for (int i=0;i<messageQueue.size();i++) {
|
||||||
|
messageHistory.add(new ChatLogMessage(messageQueue.remove(0)));
|
||||||
|
i--;
|
||||||
|
}
|
||||||
if (delay>0 && sigIRC.subEmotesCompleted) {
|
if (delay>0 && sigIRC.subEmotesCompleted) {
|
||||||
delay--;
|
delay--;
|
||||||
} else
|
} else
|
||||||
|
@ -29,19 +29,17 @@ public class ScrollingChatModule extends Module{
|
|||||||
ScrollingChatModule.module = this;
|
ScrollingChatModule.module = this;
|
||||||
String[] filedata = FileUtils.readFromFile(sigIRC.BASEDIR+"sigIRC/oauthToken.txt");
|
String[] filedata = FileUtils.readFromFile(sigIRC.BASEDIR+"sigIRC/oauthToken.txt");
|
||||||
|
|
||||||
final String oauth = filedata[0].trim().substring(0, Math.min(36,filedata[0].trim().length()));
|
for (int i=0;i<sigIRC.chatRows;i++) {
|
||||||
Thread t = new Thread(()->{
|
sigIRC.rowobj.add(new TextRow(32+sigIRC.ROWSEPARATION*i));
|
||||||
sigIRC.InitializeIRCConnection(sigIRC.server, sigIRC.nickname, sigIRC.channel, oauth);
|
}
|
||||||
});
|
//UpdateSubEmoticons();
|
||||||
|
|
||||||
t.start();
|
|
||||||
|
|
||||||
UpdateSubEmoticons();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
|
super.run();
|
||||||
UpdateScrollingText();
|
UpdateScrollingText();
|
||||||
UpdateAuthenticationCountdownMessage();
|
UpdateAuthenticationCountdownMessage();
|
||||||
|
//System.out.println("Called.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -61,7 +59,20 @@ public class ScrollingChatModule extends Module{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ApplyConfigWindowProperties() {
|
||||||
|
sigIRC.scrollingchatmodule_X=(int)position.getX();
|
||||||
|
sigIRC.scrollingchatmodule_Y=(int)position.getY();
|
||||||
|
sigIRC.scrollingchatmodule_width=(int)position.getWidth();
|
||||||
|
sigIRC.scrollingchatmodule_height=(int)position.getHeight();
|
||||||
|
sigIRC.config.setInteger("SCROLLINGCHAT_module_X", sigIRC.scrollingchatmodule_X);
|
||||||
|
sigIRC.config.setInteger("SCROLLINGCHAT_module_Y", sigIRC.scrollingchatmodule_Y);
|
||||||
|
sigIRC.config.setInteger("SCROLLINGCHAT_module_width", sigIRC.scrollingchatmodule_width);
|
||||||
|
sigIRC.config.setInteger("SCROLLINGCHAT_module_height", sigIRC.scrollingchatmodule_height);
|
||||||
|
sigIRC.config.saveProperties();
|
||||||
|
}
|
||||||
|
|
||||||
public void draw(Graphics g) {
|
public void draw(Graphics g) {
|
||||||
|
super.draw(g);
|
||||||
for (int i=0;i<sigIRC.textobj.size();i++) {
|
for (int i=0;i<sigIRC.textobj.size();i++) {
|
||||||
if (sigIRC.textobj.get(i).isActive()) {
|
if (sigIRC.textobj.get(i).isActive()) {
|
||||||
if (sigIRC.overlayMode) {
|
if (sigIRC.overlayMode) {
|
||||||
@ -167,7 +178,7 @@ public class ScrollingChatModule extends Module{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i=0;i<sigIRC.textobj.size();i++) {
|
for (int i=0;i<sigIRC.textobj.size();i++) {
|
||||||
System.out.println(sigIRC.textobj.get(i).getX()+","+sigIRC.textobj.get(i).getY());
|
//System.out.println(sigIRC.textobj.get(i).getX()+","+sigIRC.textobj.get(i).getY());
|
||||||
boolean keep = sigIRC.textobj.get(i).run();
|
boolean keep = sigIRC.textobj.get(i).run();
|
||||||
if (!keep) {
|
if (!keep) {
|
||||||
sigIRC.textobj.remove(i--);
|
sigIRC.textobj.remove(i--);
|
||||||
|
@ -111,7 +111,7 @@ public class sigIRC{
|
|||||||
public static int windowY=0;
|
public static int windowY=0;
|
||||||
public static int windowWidth=0;
|
public static int windowWidth=0;
|
||||||
public static int windowHeight=0;
|
public static int windowHeight=0;
|
||||||
static int chatRows=3;
|
public static int chatRows=3;
|
||||||
static int chatScrollSpd=4;
|
static int chatScrollSpd=4;
|
||||||
static int rowSpacing=64;
|
static int rowSpacing=64;
|
||||||
static String messageFont="Gill Sans Ultra Bold Condensed";
|
static String messageFont="Gill Sans Ultra Bold Condensed";
|
||||||
|
@ -198,6 +198,12 @@ public class LoadingDialog extends JFrame{
|
|||||||
sigIRC.emoticons.add(new Emoticon(">(","12"));
|
sigIRC.emoticons.add(new Emoticon(">(","12"));
|
||||||
sigIRC.emoticons.add(new Emoticon("<3","13"));
|
sigIRC.emoticons.add(new Emoticon("<3","13"));
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
//Load is done. Start up the panel.
|
//Load is done. Start up the panel.
|
||||||
sigIRC.window = new ProgramWindow();
|
sigIRC.window = new ProgramWindow();
|
||||||
this.setVisible(false);
|
this.setVisible(false);
|
||||||
|
46
src/sig/windows/ModuleButton.java
Normal file
46
src/sig/windows/ModuleButton.java
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
package sig.windows;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
|
||||||
|
import javax.swing.JToggleButton;
|
||||||
|
import javax.swing.event.ChangeEvent;
|
||||||
|
import javax.swing.event.ChangeListener;
|
||||||
|
|
||||||
|
import sig.Module;
|
||||||
|
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
class ModuleButton extends JToggleButton{
|
||||||
|
String label = "";
|
||||||
|
ModuleButton button;
|
||||||
|
Module myModule;
|
||||||
|
public ModuleButton(String label, Module module) {
|
||||||
|
this.label=label;
|
||||||
|
this.button=this;
|
||||||
|
this.myModule=module;
|
||||||
|
this.setBackground(Color.DARK_GRAY);
|
||||||
|
this.setText(label);
|
||||||
|
this.setToolTipText("Click to enable and disable the \n"+label+" module.");
|
||||||
|
this.setPreferredSize(new Dimension(160,56));
|
||||||
|
this.setForeground(Color.GRAY);
|
||||||
|
this.setIconTextGap(4);
|
||||||
|
this.setSelectedIcon(ProgramWindow.selected_icon);
|
||||||
|
this.setIcon(ProgramWindow.deselected_icon);
|
||||||
|
this.setSelected(true);
|
||||||
|
button.setForeground(Color.BLUE);
|
||||||
|
this.addChangeListener(new ChangeListener() {
|
||||||
|
@Override
|
||||||
|
public void stateChanged(ChangeEvent e) {
|
||||||
|
if (button.isSelected()) {
|
||||||
|
button.setForeground(Color.BLUE);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
button.setBackground(Color.DARK_GRAY);
|
||||||
|
button.setForeground(Color.GRAY);
|
||||||
|
}
|
||||||
|
myModule.setVisible(button.isSelected());
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,6 @@
|
|||||||
package sig.windows;
|
package sig.windows;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.awt.GridLayout;
|
import java.awt.GridLayout;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@ -10,6 +9,7 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@ -21,10 +21,12 @@ import javax.swing.ImageIcon;
|
|||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JToggleButton;
|
|
||||||
import javax.swing.event.ChangeEvent;
|
|
||||||
import javax.swing.event.ChangeListener;
|
|
||||||
|
|
||||||
|
import javazoom.jlgui.basicplayer.BasicController;
|
||||||
|
import javazoom.jlgui.basicplayer.BasicPlayer;
|
||||||
|
import javazoom.jlgui.basicplayer.BasicPlayerEvent;
|
||||||
|
import javazoom.jlgui.basicplayer.BasicPlayerException;
|
||||||
|
import javazoom.jlgui.basicplayer.BasicPlayerListener;
|
||||||
import sig.BackgroundColorButton;
|
import sig.BackgroundColorButton;
|
||||||
import sig.ColorPanel;
|
import sig.ColorPanel;
|
||||||
import sig.Module;
|
import sig.Module;
|
||||||
@ -118,6 +120,15 @@ public class ProgramWindow extends JFrame{
|
|||||||
GridLayout myLayout = new GridLayout(0,1);
|
GridLayout myLayout = new GridLayout(0,1);
|
||||||
sigIRC.panel.setLayout(myLayout);
|
sigIRC.panel.setLayout(myLayout);
|
||||||
|
|
||||||
|
///Play MUSIC
|
||||||
|
/*BasicPlayer player = new BasicPlayer();
|
||||||
|
try {
|
||||||
|
player.open(new File("D:\\Videos\\4K Video Downloader\\3R2 - The Truth Never Spoken (Energetic Trance Mix).mp3"));
|
||||||
|
player.play();
|
||||||
|
} catch (BasicPlayerException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}*/
|
||||||
|
|
||||||
//colorpanel = new ColorPanel();
|
//colorpanel = new ColorPanel();
|
||||||
//this.add(colorpanel);
|
//this.add(colorpanel);
|
||||||
this.setLocationByPlatform(true);
|
this.setLocationByPlatform(true);
|
||||||
@ -140,39 +151,3 @@ public class ProgramWindow extends JFrame{
|
|||||||
//Module testMod = new Module(new Rectangle(0,0,640,480),"Test");
|
//Module testMod = new Module(new Rectangle(0,0,640,480),"Test");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
|
||||||
class ModuleButton extends JToggleButton{
|
|
||||||
String label = "";
|
|
||||||
ModuleButton button;
|
|
||||||
Module myModule;
|
|
||||||
public ModuleButton(String label, Module module) {
|
|
||||||
this.label=label;
|
|
||||||
this.button=this;
|
|
||||||
this.myModule=module;
|
|
||||||
this.setBackground(Color.DARK_GRAY);
|
|
||||||
this.setText(label);
|
|
||||||
this.setToolTipText("Click to enable and disable the \n"+label+" module.");
|
|
||||||
this.setPreferredSize(new Dimension(160,56));
|
|
||||||
this.setForeground(Color.GRAY);
|
|
||||||
this.setIconTextGap(4);
|
|
||||||
this.setSelectedIcon(ProgramWindow.selected_icon);
|
|
||||||
this.setIcon(ProgramWindow.deselected_icon);
|
|
||||||
this.setSelected(true);
|
|
||||||
button.setForeground(Color.BLUE);
|
|
||||||
this.addChangeListener(new ChangeListener() {
|
|
||||||
@Override
|
|
||||||
public void stateChanged(ChangeEvent e) {
|
|
||||||
if (button.isSelected()) {
|
|
||||||
button.setForeground(Color.BLUE);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
button.setBackground(Color.DARK_GRAY);
|
|
||||||
button.setForeground(Color.GRAY);
|
|
||||||
}
|
|
||||||
myModule.setVisible(button.isSelected());
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user