-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUserView.java
More file actions
144 lines (125 loc) · 6.39 KB
/
UserView.java
File metadata and controls
144 lines (125 loc) · 6.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class UserView extends javax.swing.JFrame {
private User user;
private static UserView userViewInstance;
private static LinkedList<String> tweetStrings = new LinkedList<>();
private static LinkedList<String> followingStrings = new LinkedList<>();
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JList<String> jList1;
private javax.swing.JList<String> jList2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
public UserView(User user) {
this.user = user;
initUserView(user);
}
// Doesn't check if instance is null so you can open multiple userViews
public static UserView getUserView(User user) {
userViewInstance = new UserView(user);
return userViewInstance;
}
// Generated code using NetBeans Swing layout builder
private void initUserView(User user) {
setTitle("User View - " + user.getDisplayName());
setResizable(false);
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
followingStrings.add(jTextField1.getText());
jTextField1.setText("");
updateFollowing();
}
});
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList<>();
jButton2 = new javax.swing.JButton();
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tweetStrings.add("(" + user.getLastUpdateTime() + ") " + user.getDisplayName() + ": " + jTextField2.getText());
AdminPanel.totalMessageCount++;
isMessagePositive(jTextField2.getText());
jTextField2.setText("");
updateTweets();
}
});
jTextField2 = new javax.swing.JTextField();
jScrollPane2 = new javax.swing.JScrollPane();
jList2 = new javax.swing.JList<>();
jTextField1.setText("");
jButton1.setText("Follow User");
updateFollowing();
jScrollPane1.setViewportView(jList1);
jButton2.setText("Post Tweet");
jTextField2.setText("");
updateTweets();
jScrollPane2.setViewportView(jList2);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2)
.addComponent(jScrollPane1)
.addGroup(layout.createSequentialGroup()
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 188, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE)
.addComponent(jTextField1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE)
.addComponent(jTextField2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}
private void updateFollowing() {
jList1.setModel(new javax.swing.AbstractListModel<String>() {
public int getSize() { return followingStrings.size(); }
public String getElementAt(int i) { return followingStrings.get(i); }
});
}
private void updateTweets() {
jList2.setModel(new javax.swing.AbstractListModel<String>() {
public int getSize() { return tweetStrings.size(); }
public String getElementAt(int i) { return tweetStrings.get(i); }
});
}
private void isMessagePositive(String message) {
String[] positiveWords = {"good", "great", "excellent", };
for(int i = 0; i < positiveWords.length; i++)
{
if(message.contains(positiveWords[i]))
AdminPanel.positiveMessageCount++;
}
}
}