public SelectServerDialog() { super(); setTitle("Select Server"); JLabel lblServer = new JLabel("IP or Name:"); txtServer = new JTextField(); txtServer.setMaximumSize(new Dimension(10000, 20)); Box boxServer = new Box(BoxLayout.X_AXIS); cmdConnect = new JButton("Connect"); cmdConnect.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) {} }); cmdCancel = new JButton("Cancel"); cmdCancel.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { dispose(); } }); }
public EditorServer(String fileName, String name, String desc) { super(); self = this; if (fileName == null || !loadDocument(fileName)) { clients = new Vector(); document = new EditorDocument(name, desc, "", System.currentTimeMillis()); try { // ascii code for first blue line... document.insertString(0, "·-·+·*=·x·\n", document.getStyle("line")); } catch (BadLocationException ble) { System.out.println("EditorServer->const: BadLocationException"); } paragraphs = new Paragraphs(document); lockManager = new LockManager(clients, document, paragraphs); highlights = new Highlights(lockManager, document); nextClientId = 1; } isAudioOptionSelected = false; // to avoid unecessary Audio - Text participant matching documentPanel = new DocumentPanel(); updateParagraphList(); clientsPanel = new ClientsPanel(); clientsPanel.updateClientList(); Icon clockIcon = getImageIcon("images/clock.gif"); Icon clockIcon2 = getImageIcon("images/clock2.gif"); startRTPrecording = new JButton("START RTP Recording", clockIcon); startRTPrecording.setRolloverIcon(clockIcon2); RecordingHandler recHandler = new RecordingHandler(self); startRTPrecording.addActionListener(recHandler); Icon stopIcon = getImageIcon("images/stop.gif"); stopRTPrecording = new JButton("STOP RTP recording", stopIcon); stopRTPrecording.setEnabled(false); stopRTPrecording.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { recorder.endRecording(); stopRTPrecording.setEnabled(false); startRTPrecording.setEnabled(true); } }); Container container = getContentPane(); container.setLayout(new FlowLayout()); container.add(startRTPrecording); container.add(stopRTPrecording); // JTabbedPane tabPane = new JTabbedPane() ; tabPane.add("Document", documentPanel); tabPane.add("Text Clients", clientsPanel); container.add(tabPane, BorderLayout.CENTER); setTitle("EditorServer"); setSize(new Dimension(800, 600)); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { lockManager.saveDocument(null, highlights, self); System.exit(0); } }); JMenuItem mnuSave = new JMenuItem("Save"); mnuSave.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser dialog = new JFileChooser(); dialog.addChoosableFileFilter( new MyFileFilter("Collabortive Document File (*.cde)", ".cde")); dialog.setAcceptAllFileFilterUsed(false); if (dialog.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) { lockManager.saveDocument(dialog.getSelectedFile().getPath(), highlights, self); } } }); JMenuItem mnuSaveXML = new JMenuItem("Save XML"); mnuSaveXML.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser dialog = new JFileChooser(); dialog.addChoosableFileFilter(new MyFileFilter("XML File (*.xml)", ".xml")); dialog.setAcceptAllFileFilterUsed(false); if (dialog.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) { lockManager.saveXML(dialog.getSelectedFile().getPath(), highlights, self); } } }); JMenu mnuFile = new JMenu("File"); mnuFile.add(mnuSave); mnuFile.add(mnuSaveXML); JMenuBar menu = new JMenuBar(); menu.add(mnuFile); setJMenuBar(menu); Thread backupThread = new Thread() { public void run() { while (1 == 1) { yield(); try { // sleep(1000) ; sleep(5 * 60 * 1000); lockManager.saveDocument(null, highlights, self); } catch (Exception e) { System.out.println("EditorServer: backupThread. error"); e.printStackTrace(); } } } }; backupThread.setDaemon(true); backupThread.start(); } // endof const WITHOUT audio profile maker
public RecorderDialog(EditorServer parent) { super(parent, true); setTitle("Recorder Info"); // fieldsPanel JPanel fieldsPanel = new JPanel(); GridBagLayout gbLayout = new GridBagLayout(); GridBagConstraints constraints; // Address/Port/TTL : constraints = new GridBagConstraints(); constraints.anchor = GridBagConstraints.EAST; constraints.insets = new Insets(5, 5, 0, 0); fieldsPanel.setLayout(gbLayout); JLabel AddPTTLabel = new JLabel("Address/Port/TTL :"); gbLayout.setConstraints(AddPTTLabel, constraints); fieldsPanel.add(AddPTTLabel, constraints); constraints = new GridBagConstraints(); constraints.gridwidth = GridBagConstraints.REMAINDER; constraints.insets = new Insets(5, 5, 0, 5); constraints.weightx = 1.0D; addressPortTTL = new JTextField(25); addressPortTTL.setText("224.20.20.20/20002"); gbLayout.setConstraints(addressPortTTL, constraints); fieldsPanel.add(addressPortTTL, constraints); // Outputfile... constraints = new GridBagConstraints(); constraints.anchor = GridBagConstraints.EAST; constraints.insets = new Insets(5, 5, 0, 0); JLabel OFileLabel = new JLabel("Save file as... :"); gbLayout.setConstraints(OFileLabel, constraints); fieldsPanel.add(OFileLabel, constraints); constraints = new GridBagConstraints(); constraints.gridwidth = GridBagConstraints.REMAINDER; constraints.insets = new Insets(5, 5, 0, 5); constraints.weightx = 1.0D; outFile = new JTextField(25); outFile.setText("Placebo.rtp"); gbLayout.setConstraints(outFile, constraints); fieldsPanel.add(outFile, constraints); // Recording time... constraints = new GridBagConstraints(); constraints.anchor = GridBagConstraints.EAST; constraints.insets = new Insets(5, 5, 0, 0); JLabel timeLabel = new JLabel("Recording time (in seconds) : "); gbLayout.setConstraints(timeLabel, constraints); fieldsPanel.add(timeLabel, constraints); constraints = new GridBagConstraints(); constraints.gridwidth = GridBagConstraints.REMAINDER; constraints.insets = new Insets(5, 5, 0, 5); constraints.weightx = 1.0D; durationField = new JTextField(25); durationField.setText("2700"); gbLayout.setConstraints(durationField, constraints); fieldsPanel.add(durationField, constraints); // The buttons... JPanel buttonPanel = new JPanel(); JButton startRecordingButton = new JButton("Start Recording"); startRecordingButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent buttonPressed) { // startThread here !!! String apt = addressPortTTL.getText().trim(); String ofile = outFile.getText().trim(); String duration = durationField.getText().trim(); System.out.println( "\napt : *" + apt + "* ofile : *" + ofile + "* duration: *" + duration + "*"); long dur = new Integer(duration).intValue() * 1000; // turned into ms recorder = new Recorder(apt, ofile, dur); recorder.start(); document.resetStartTime(System.currentTimeMillis()); // close dialog Box dispose(); } // }); // endActionListener buttonPanel.add(startRecordingButton); Container dialogContainer = getContentPane(); dialogContainer.setLayout(new BorderLayout()); dialogContainer.add(fieldsPanel, BorderLayout.CENTER); dialogContainer.add(buttonPanel, BorderLayout.SOUTH); pack(); setLocationRelativeTo(parent); }