⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 streamstarter.java

📁 this is the media streaming project
💻 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 + -