📄 statusscreen.java
字号:
package edu.uiuc.cs.cs327.linuxwifi.gui;
import edu.uiuc.cs.cs327.linuxwifi.services.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.util.Vector;
/**
* Class that contains all information pertaining to the Download Screen
*/
class StatusScreen extends JPanel implements ActionListener{
private static final boolean DEBUG = false;
private MainGUI mainGUI;
private static ServicesApi servicesAPI;
private static boolean doneOnce;
private static JList availableNodesList;
private static JPanel availableNodesPanel;
private static DefaultListModel availableNodesStringVector;
private static Vector availableNodesVector;
StatusScreen(MainGUI mainGUI, ServicesApi servicesAPI ) {
this.servicesAPI=servicesAPI;
this.mainGUI = mainGUI;
JPanel panel1 = this;
panel1.setLayout(null);
panel1.setSize(new Dimension(800,600));
JLabel welcome = new JLabel("STATUS SCREEN");
welcome.setFont(new Font(welcome.getFont().getFontName(), welcome.getFont().getStyle(), 20));
welcome.setSize(welcome.getPreferredSize());
// panel1.add(welcome);
welcome.setLocation((panel1.getWidth()-welcome.getWidth())/2, 100);
JTabbedPane statusTabPane = new JTabbedPane(JTabbedPane.LEFT);
availableNodesPanel = new JPanel();
availableNodesPanel.setSize(400,600);
availableNodesPanel.setLayout(null);
availableNodesStringVector = new DefaultListModel();
availableNodesVector = servicesAPI.getAvailableNodes();
updatePeerVector();
availableNodesList = new JList(availableNodesStringVector);
availableNodesList.setSize(400,400);
JScrollPane scrollPane = new JScrollPane(availableNodesList);
availableNodesPanel.add(scrollPane);
// scrollPane.setSize(scrollPane.getPreferredSize());
scrollPane.setSize(400,400);
scrollPane.setLocation((availableNodesPanel.getWidth()-400)/2, 0);
availableNodesPanel.setSize(availableNodesPanel.getPreferredSize());
JLabel line = new JLabel("Please wait a few seconds for Peers to be discovered");
line.setFont(new Font(line.getFont().getFontName(), line.getFont().getStyle(), 14));
line.setSize(line.getPreferredSize());
availableNodesPanel.add(line);
line.setLocation((availableNodesPanel.getWidth()-line.getWidth())/2, 400);
JPanel downloadPanel = new JPanel();
downloadPanel.setSize(400,600);
doneOnce =false;
JPanel uploadPanel = new JPanel();
uploadPanel.setSize(400,600);
JPanel pausedPanel = new JPanel();
pausedPanel.setSize(400,600);
statusTabPane.addTab("Available Nodes", availableNodesPanel);
statusTabPane.addTab("Download", downloadPanel);
statusTabPane.addTab("Upload", uploadPanel );
statusTabPane.addTab("Paused", pausedPanel );
add(statusTabPane);
statusTabPane.setSize(600,600);
statusTabPane.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("submit")) {
// mainGUI.successfulLogin();
}
else if(e.getActionCommand().equals("logout")) {
mainGUI.logOut();
}
}
public static void updatePeerVector()
{
if(DEBUG) System.out.println("UUUUUUUUUUUUUPDATE PEER VECTOR CALLED");
int i;
// availableNodesStringVector.removeAllElements();
boolean Found=false;
if((availableNodesVector != null) && (availableNodesVector.size() != 0))
{
for(i=0; i<availableNodesVector.size(); i++)
{
Found=false;
if(DEBUG) System.out.println("In for loop i:" + i);
for(int j=0; j<availableNodesStringVector.size(); j++)
{
if(DEBUG) System.out.println("In for loop j:" + j);
if(((NodeObject) availableNodesVector.get(i)).getNodeName().equals(
((String)availableNodesStringVector.get(j))
))
{
if(DEBUG) System.out.println("Found duplicate in vector");
Found = true;
}
}
if(!Found)
{
if(DEBUG) System.out.println("PRES BLAH i:" + i);
if(DEBUG) System.out.println("BLAH: " + ((NodeObject) availableNodesVector.get(i)).getNodeName());
availableNodesStringVector.addElement(((NodeObject) availableNodesVector.get(i)).getNodeName());
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -