?? streamstarter.java
字號:
/****************************************************************************************/
/* 2001-Spring: Java Network-Programming Term-Project */
/* Title: Streaming media generation, capture and store. */
/* Team Member: Yumin Yuan(yuany@rpi.edu), Rui Mu(mur@rpi.edu), Yining Hu(huyn@rpi.edu) */
/* StreamStarter.java: This is the main class in the package. It will generate an */
/* interface that allows you to choose what kind of function you want: timing-recording */
/* or real-time communication. */
/* Complile: javac StreamStarter.java */
/* Run: java StreamStarter */
/****************************************************************************************/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class StreamStarter extends JFrame{
private static JTextField destIP, inPort, outPort, vSource;
private JPanel textPanel;
public StreamStarter(){
super("Stream Starter");
//to set up interface
Container c=getContentPane();
c.setLayout(new BoxLayout(c,BoxLayout.Y_AXIS));
destIP = new JTextField(10);
JLabel recieverIP = new JLabel("Target IP ");
inPort = new JTextField(4);
JLabel inputNumber = new JLabel("Receiving Port ");
outPort = new JTextField(4);
JLabel outputNumber = new JLabel("Sending Port ");
JLabel lSource = new JLabel("Stream Source");
vSource = new JTextField(20);
textPanel = new JPanel();
textPanel.setBorder(BorderFactory.createEtchedBorder());
JPanel labelPanel=new JPanel();
labelPanel.setLayout(new BoxLayout(labelPanel,BoxLayout.X_AXIS));
labelPanel.add(recieverIP);
labelPanel.add(inputNumber);
labelPanel.add(outputNumber);
labelPanel.add(lSource);
textPanel.add(destIP);
textPanel.add(inPort);
textPanel.add(outPort);
textPanel.add(vSource);
//click on this button will generate the interface for real-time communication
JButton playButton = new JButton("Start Communication");
playButton.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
String ip = destIP.getText();
String data = vSource.getText();
String sendPort = outPort.getText();
String receivePort = inPort.getText();
if(ip == "" || data == "" || sendPort == "" || receivePort == "")
JOptionPane.showMessageDialog (null, "You must input all information", "Error!", JOptionPane.ERROR_MESSAGE);
else{
StreamRecorder sr = new StreamRecorder(ip, sendPort, receivePort, data);
sr.send();
sr.receive();
sr.resize(500,300);
sr.show();
}
}
}
);
//click on this button will generate the interface for timed-recording
JButton timerButton=new JButton("Timing-Recording");
timerButton.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
String ip = destIP.getText();
String receivePort = inPort.getText();
if(ip == "" || receivePort == "")
JOptionPane.showMessageDialog (null, "You must input Target IP and Receiving Port", "Error!", JOptionPane.ERROR_MESSAGE);
else{
TimerProcess tp = new TimerProcess(ip, receivePort);
}
}
}
);
JButton quitButton=new JButton("Exit");
quitButton.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
);
JPanel buttonPanel=new JPanel();
buttonPanel.setLayout(new BoxLayout(buttonPanel,BoxLayout.X_AXIS));
buttonPanel.setBorder(BorderFactory.createEtchedBorder());
buttonPanel.add(playButton);
buttonPanel.add(timerButton);
buttonPanel.add(quitButton);
c.add(labelPanel);
c.add(textPanel);
c.add(buttonPanel);
setSize(500, 150);
show();
}
public static void main(String [] args) {
if (args.length > 0) {
System.err.println("Usage: java StreamStarter");
System.exit(-1);
}
StreamStarter streamStr=new StreamStarter();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -