@@ -11,9 +11,12 @@ public class ConsoleGui {
11
11
12
12
JFrame frame ;
13
13
JTextPane console ;
14
+ JTextPane chat ;
14
15
JTextField input ;
15
- JScrollPane scrollPane ;
16
- StyledDocument document ;
16
+ JScrollPane consoleScrollPane ;
17
+ JScrollPane chatScrollPane ;
18
+ StyledDocument consoleDocument ;
19
+ StyledDocument chatDocument ;
17
20
public boolean trace = true ;
18
21
ArrayList <String > recentInputs = new ArrayList <String >();
19
22
int recentInputId = 0 ;
@@ -34,7 +37,14 @@ public void run() {
34
37
console .setEditable (false );
35
38
console .setFont (new Font ("Open Sans" , Font .PLAIN , 12 ));
36
39
console .setOpaque (false );
37
- document = console .getStyledDocument ();
40
+ console .setBackground (new Color (50 , 50 , 50 ));
41
+ consoleDocument = console .getStyledDocument ();
42
+ chat = new JTextPane ();
43
+ chat .setEditable (false );
44
+ chat .setFont (new Font ("Open Sans" , Font .PLAIN , 12 ));
45
+ chat .setOpaque (false );
46
+ chat .setBackground (new Color (50 , 50 , 50 ));
47
+ chatDocument = chat .getStyledDocument ();
38
48
input = new JTextField ();
39
49
// input.setEditable(true); //Probably don't need
40
50
// input.setBorder(null);
@@ -81,12 +91,22 @@ public void keyReleased(KeyEvent e) {}
81
91
82
92
public void keyTyped (KeyEvent e ) {}
83
93
});
84
- scrollPane = new JScrollPane (console );
85
- scrollPane .setBorder (null );
86
- scrollPane .setOpaque (false );
87
- scrollPane .getViewport ().setOpaque (false );
94
+ consoleScrollPane = new JScrollPane (console );
95
+ consoleScrollPane .setBorder (null );
96
+ consoleScrollPane .setOpaque (false );
97
+ consoleScrollPane .getViewport ().setOpaque (false );
98
+ chatScrollPane = new JScrollPane (chat );
99
+ chatScrollPane .setBorder (null );
100
+ chatScrollPane .setOpaque (false );
101
+ chatScrollPane .getViewport ().setOpaque (false );
102
+ JTabbedPane tabs = new JTabbedPane ();
103
+ tabs .addTab ("Console" , null , consoleScrollPane , "Console for PhaseBot" );
104
+ tabs .addTab ("Chat" , null , chatScrollPane , "Incoming chat messages" );
105
+ tabs .setBackground (new Color (50 , 50 , 50 ));
88
106
frame .add (input , BorderLayout .SOUTH );
89
- frame .add (scrollPane , BorderLayout .CENTER );
107
+ frame .add (tabs , BorderLayout .CENTER );
108
+ //frame.add(consoleScrollPane, BorderLayout.WEST);
109
+ //frame.add(chatScrollPane, BorderLayout.EAST);
90
110
frame .getContentPane ().setBackground (new Color (50 , 50 , 50 ));
91
111
frame .setSize (660 , 350 );// TODO Change
92
112
frame .setLocationRelativeTo (null );
@@ -108,6 +128,14 @@ public void print(String s, boolean trace) {
108
128
print (s , trace , new Color (255 , 255 , 255 ));
109
129
}
110
130
131
+ public void addChatMessage (String s ) {
132
+ try {
133
+ Style style = console .addStyle ("Style" , null );
134
+ chatDocument .insertString (chatDocument .getLength (), s + "\n " , style );
135
+ }
136
+ catch (Exception e ) {}
137
+ }
138
+
111
139
public void print (String s , boolean trace , Color c ) {
112
140
try {
113
141
Style style = console .addStyle ("Style" , null );
@@ -118,13 +146,13 @@ public void print(String s, boolean trace, Color c) {
118
146
String caller = elements [0 ].getClassName ();
119
147
s = caller + " > " + s ;
120
148
}
121
- document .insertString (document .getLength (), s , style );
149
+ consoleDocument .insertString (consoleDocument .getLength (), s , style );
122
150
}
123
151
catch (Exception e ) {}
124
152
}
125
153
126
154
public void println (String s , boolean trace ) {
127
- println ( s , trace , new Color ( 255 , 255 , 255 ) );
155
+ print ( s + " \n " , trace );
128
156
}
129
157
130
158
public void println (String s , boolean trace , Color c ) {
@@ -149,7 +177,7 @@ public void println(String s) {
149
177
150
178
public void clear () {
151
179
try {
152
- document .remove (0 , document .getLength ());
180
+ consoleDocument .remove (0 , consoleDocument .getLength ());
153
181
}
154
182
catch (Exception e ) {}
155
183
}
0 commit comments