| Help - Any browser crashes with Java plug in when using parameters |
|
 |
Index ‹ java-programmer
|
- Previous
- 1
- www.rakeback.gr
This week opportunity
FREE $50
If you're new to SunPoker, we'll match your first deposit up to $50 with
a 100% deposit bonus. See details at:
www.rakeback.gr
If you are interesting about how to play and how to win, please
contact us on e-mail: email***@***.com and we will send you book with
tip and tricks.
Sincerely yours
www.rakeback.gr
- 1
- log4j questionIs log4j specifically a servlet, or is it an API that can be called from
ANY java program that wanst to do logging?
- 3
- Second URL.openstream in second thread causes ProtocolExceptionI have a multi-threaded Java http image proxy service application that
runs fine on Windows 2000. The app retrieves multiple, distinct images
from a webserver with one image retrieval process per thread. The
webserver images change every so often, but each distinct URL used in
my proxy service remains the same. Each thread repeats its image
download every few seconds to retrieve updated images. It all works
great.
I am trying to move this app to a Red Hat Fedora core 4 machine.
Almost everything works except I am getting a protocol exception when
I try to open a second URL stream in a second thread. Within seconds,
one of the threads will throw a ProtocolException error with error
text of '1.1/ 200 OK'. Any one stream/thread combo will work fine.
Trying to start another causes problems.
If I comment out the URL.openStream() call, I can start a dozen
threads, run them for as long as I want and stop them all quite
nicely. Again, all of the code works beautifully on Windows 2000. I'm
not sure if this is a Java problem or, perhaps, a Linux server
configuration problem.
It just seems that the Red Hat server/Java environment is having a
hard time having two http protocol discussions in two threads at the
same time. Occasionally, the threads will both succeed for a few
image revolutions, so there is a little inconsistency in when the
failure occurs.
gdhurst
- 3
- Thread and ListenerHi,
I'm doing some experiences with JOESNMP. It's very good. Guided by the
examples I was able to build a listener that receives snmp traps. It's
working fine (when running through console).
So I decided to start it automatically, together with my web
application (that is running under tomcat).
I have a servlet that is executed when tomcat starts (using
<load-on-startup>). So I did a call to my new class.
The problem is that this class is actually a listener. When it starts,
it hangs the other procedures, including tomcat initilization.
I tryed to put it under a thread, but it also hangs as soon it starts
to listen for snmp traps.
How do I ran a listner without blocking other processes? I am looking
for a solution that should work both on linux and windows.
I don't know if I made myself understood. Sorry my poor english.
TIA,
Bob
- 3
- MI5 Persecution: ?0,000 Reward (3097)
20,000 Reward Offered to Expose the Conspiracy
I am making a pledge for information directly leading to the exposing of the "BBC Newscaster
Conspiracy". The exposing would specifically need to lead to a legally binding admission from Martyn Lewis
or Michael Buerk of the BBC they they were watching me through the TV set.
I would be happy (delighted, in fact) to pay GBP 20,000 sterling in reward for the above admission.
--------------------------------------------------------------------------------
3097
--
Posted via a free Usenet account from http://www.teranews.com
- 3
- PreferencesHello!
I've just read about Preferences in JDK1.4 and wonder where java store data
between sessions???? I've found no related files with suitable contant..
Sorry for lammer question ;(
- 7
- Executable binaryHello java experts:
Is there any tool to make java file into executable binary? thanks in
advance
- 7
- does IntelliJ do any of these thingsI am taking IntelliJ out for its first spin. See
http://mindprod.com/jgloss/intellij.html
You can see my first program at:
http://mindprod.com/jgloss/arraylist.html#GROWINGARRAYLIST
Everything is going smoothly. I wondered if the following features
exist somewhere and I just can't find them.
1. Reorder methods and declarations in canonical order. I make heavy
use of this in Eclipse to save finding the right spot to insert. I put
methods and declarations I am working temporarily adjacent then
reorder.
2. tidy javadoc.
3. summarise syntax errors, like the Eclipse "problems" panel.
4. quickly ensure Javadoc are complete. I have found the lint which
requires opening a zillion tree elements to find nit picks rather than
true errors.
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
- 8
- multi track audio card accessinghallo
I am programming in java for multi track sound card ( 4 - stereo track
-- 8 speakers). I need to output 8 mono wav audio file in eight
different speakers
for this work I have suceeded by playing two mono files in first 2
speakers ( first stereo track ) I am now searching to output other
6 mono files in other 3 different stereo tracks
how to get the port or details for the other 3 stereo tracks
I have attached 3 java files which i have used
<<<<MultiAudioStreamPlayer.java
<<<<BaseAudioStream.java
<<<<SimpleAudioStream.java
for running the below java samples there is no need to have a special
sound card but make sure to change the WAV file name in
SimpleAudioStream.java
program
I am eagerly waiting for your valuable ideas
Yours friendly
vijay
/*
* MultiAudioStreamPlayer.java
*
* This file is part of the Java Sound Examples.
*/
/*
* Copyright (c) 1999 by Matthias Pfisterer
<email***@***.com>
*
*
* This program is free software; you can redistribute it and/or
modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation; either version 2 of the License,
or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the Free
Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import javax.sound.sampled.SourceDataLine;
// import AudioStream;
/* +DocBookXML
<title>Playing multiple audio files concurrently</title>
<formalpara><title>Purpose</title>
<para>This program plays multiple audio files
concurrently.
It opens each file given on the command line and starts it.
The program uses the class <classname>AudioStream</classname>.</para>
</formalpara>
<formalpara><title>Level</title>
<para>experienced</para></formalpara>
<formalpara><title>Usage</title>
<para>
<cmdsynopsis>
<command>java MultiAudioStreamPlayer</command>
<arg choice="plain"
rep="repeat"><replaceable>audiofile</replaceable></arg>
</cmdsynopsis>
</para></formalpara>
<formalpara><title>Parameters</title>
<variablelist>
<varlistentry>
<term><replaceable>audiofile</replaceable></term>
<listitem><para>the name(s) of the audio file(s) to
play</para></listitem>
</varlistentry>
</variablelist>
</formalpara>
<formalpara><title>Bugs, limitations</title>
<para>Not well-tested</para></formalpara>
<formalpara><title>Source code</title>
<para>
<ulink url="MultiAudioStreamPlayer.java.html">MultiAudioStreamPlayer.java</ulink>,
<ulink url="SimpleAudioStream.java.html">SimpleAudioStream.java</ulink>,
<ulink url="BaseAudioStream.java.html">BaseAudioStream.java</ulink>
</para>
</formalpara>
-DocBookXML
*/
public class MultiAudioStreamPlayer
{
public static void main(String[] args)
{
File soundFile_L = new File("77.wav");
File soundFile_R = new File("88.wav");
SimpleAudioStream audioStream_L = null;
SimpleAudioStream audioStream_R = null;
try
{
audioStream_L = new SimpleAudioStream(soundFile_L);
audioStream_R = new SimpleAudioStream(soundFile_R);
audioStream_L.setPan(1.0f);
audioStream_R.setPan(0.0f);
audioStream_R.start();
audioStream_L.start();
}
catch (LineUnavailableException e)
{
/*
* In case of an exception, we dump the
* exception including the stack trace
* to the console output. Then, we exit
* the program.
*/
e.printStackTrace();
System.exit(1);
}
catch (UnsupportedAudioFileException e)
{
e.printStackTrace();
System.exit(1);
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
System.exit(1);
}
catch (IOException e)
{
e.printStackTrace();
System.exit(1);
}
/*
if (args.length < 1)
{
System.out.println("MultiAudioStreamPlayer: usage:");
System.out.println("\tjava MultiAudioStreamPlayer <soundfile1>
<soundfile2> ...");
System.exit(1);
}
for (int i = 0; i < args.length; i++)
{
String strFilename = args[i];
File soundFile = new File(strFilename);
SimpleAudioStream audioStream = null;
try
{
audioStream = new SimpleAudioStream(soundFile);
if(i==0)
audioStream.setPan(1.0f);
else
audioStream.setPan(0.0f);
}
catch (LineUnavailableException e)
{
e.printStackTrace();
System.exit(1);
}
catch (UnsupportedAudioFileException e)
{
e.printStackTrace();
System.exit(1);
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
System.exit(1);
}
catch (IOException e)
{
e.printStackTrace();
System.exit(1);
}
audioStream.start();
}
*/
/* closing the sound file after playing */
}
}
/*** MultiAudioStreamPlayer.java ***/
//_________________________________________________________________________________________________
/*
* BaseAudioStream.java
*
* This file is part of the Java Sound Examples.
*/
/*
* Copyright (c) 1999, 2000 by Matthias Pfisterer
<email***@***.com>
*
*
* This program is free software; you can redistribute it and/or
modify
* it under the terms of the GNU Library General Public License as
published
* by the Free Software Foundation; either version 2 of the License,
or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the Free
Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.UnsupportedAudioFileException;
import javax.sound.sampled.FloatControl;
public class BaseAudioStream
implements Runnable
{
/** Flag for debugging messages.
* If true, some messages are dumped to the console
* during operation.
*/
private static boolean DEBUG = true;
/**
* means that the stream has reached EOF or was not started.
* This value is returned in property change callbacks that
* report the current media position.
*/
public static final long MEDIA_POSITION_EOF = -1L;
public static final String MEDIA_POSITION_PROPERTY =
"BaseAudioStream_media_position";
// TODO: better size
private static final int EXTERNAL_BUFFER_SIZE = 4000 * 4;
private Thread m_thread = null;
private Object m_dataSource;
private AudioInputStream m_audioInputStream;
private SourceDataLine m_line;
private FloatControl m_gainControl;
private FloatControl m_panControl;
/**
* This variable is used to distinguish stopped state from
* paused state. In case of paused state, m_bRunning is still
* true. In case of stopped state, it is set to false. Doing so
* will terminate the thread.
*/
private boolean m_bRunning;
protected BaseAudioStream()
{
m_dataSource = null;
m_audioInputStream = null;
m_line = null;
m_gainControl = null;
m_panControl = null;
}
protected void setDataSource(File file)
throws UnsupportedAudioFileException, LineUnavailableException,
IOException
{
m_dataSource = file;
initAudioInputStream();
}
protected void setDataSource(URL url)
throws UnsupportedAudioFileException, LineUnavailableException,
IOException
{
m_dataSource = url;
initAudioInputStream();
}
private void initAudioInputStream()
throws UnsupportedAudioFileException, LineUnavailableException,
IOException
{
if (m_dataSource instanceof URL)
{
initAudioInputStream((URL) m_dataSource);
}
else if (m_dataSource instanceof File)
{
initAudioInputStream((File) m_dataSource);
}
}
private void initAudioInputStream(File file)
throws UnsupportedAudioFileException, IOException
{
/*
try
{
*/
m_audioInputStream = AudioSystem.getAudioInputStream(file);
/*
}
catch (IOException e)
{
throw new IllegalArgumentException("cannot create AudioInputStream
for " + file);
}
if (m_audioInputStream == null)
{
throw new IllegalArgumentException("cannot create AudioInputStream
for " + file);
}
*/
}
private void initAudioInputStream(URL url)
throws UnsupportedAudioFileException, IOException
{
/*
try
{
*/
m_audioInputStream = AudioSystem.getAudioInputStream(url);
/*
}
catch (IOException e)
{
throw new IllegalArgumentException("cannot create AudioInputStream
for " + url);
}
if (m_audioInputStream == null)
{
throw new IllegalArgumentException("cannot create AudioInputStream
for " + url);
}
*/
}
// from AudioPlayer.java
/*
* Compressed audio data cannot be fed directely to
* Java Sound. It has to be converted explicitely.
* To do this, we create a new AudioFormat that
* says to which format we want to convert to. Then,
* we try to get a converted AudioInputStream.
* Furthermore, we use the new format and the converted
* stream.
*
* Note that the technique shown here is partly non-
* portable. It is used here to keep the example
* simple. A more advanced, more portable technique
* will (hopefully) show up in BaseAudioStream.java soon.
*
* Thanks to Christoph Hecker for finding out that this
* was missing.
*/
/*
if ((audioFormat.getEncoding() == AudioFormat.Encoding.ULAW) ||
(audioFormat.getEncoding() == AudioFormat.Encoding.ALAW))
{
if (DEBUG)
{
System.out.println("AudioPlayer.main(): converting");
}
AudioFormat newFormat = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
audioFormat.getSampleRate(),
audioFormat.getSampleSizeInBits() * 2,
audioFormat.getChannels(),
audioFormat.getFrameSize() * 2,
audioFormat.getFrameRate(),
true);
AudioInputStream newStream =
AudioSystem.getAudioInputStream(newFormat, audioInputStream);
audioFormat = newFormat;
audioInputStream = newStream;
}
*/
protected void initLine()
throws LineUnavailableException
{
if (m_line == null)
{
createLine();
openLine();
}
else
{
AudioFormat lineAudioFormat = m_line.getFormat();
AudioFormat audioInputStreamFormat = m_audioInputStream == null ?
null : m_audioInputStream.getFormat();
if (!lineAudioFormat.equals(audioInputStreamFormat))
{
m_line.close();
openLine();
}
}
}
private void createLine()
throws LineUnavailableException
{
if (m_line != null)
{
return;
}
/*
* From the AudioInputStream, i.e. from the sound file, we
* fetch information about the format of the audio data. These
* information include the sampling frequency, the number of
* channels and the size of the samples. There information
* are needed to ask Java Sound for a suitable output line
* for this audio file.
*/
AudioFormat audioFormat = m_audioInputStream.getFormat();
if (DEBUG)
{
System.out.println("BaseAudioStream.initLine(): audio format: " +
audioFormat);
}
/*
* Asking for a line is a rather tricky thing.
* ...
* Furthermore, we have to give Java Sound a hint about how
* big the internal buffer for the line should be. Here,
* we say AudioSystem.NOT_SPECIFIED, signaling that we don't
* care about the exact size. Java Sound will use some default
* value for the buffer size.
*/
DataLine.Info info = new DataLine.Info(SourceDataLine.class,
audioFormat, AudioSystem.NOT_SPECIFIED);
m_line = (SourceDataLine) AudioSystem.getLine(info);
if (m_line.isControlSupported(FloatControl.Type.MASTER_GAIN/*VOLUME*/))
{
m_gainControl = (FloatControl)
m_line.getControl(FloatControl.Type.MASTER_GAIN);
if (DEBUG)
{
System.out.println("max gain: " + m_gainControl.getMaximum());
System.out.println("min gain: " + m_gainControl.getMinimum());
System.out.println("gain precision: " +
m_gainControl.getPrecision());
}
}
else
{
if (DEBUG)
{
System.out.println("FloatControl.Type.MASTER_GAIN is not
supported");
}
}
if (m_line.isControlSupported(FloatControl.Type.PAN/*BALANCE*/))
{
m_panControl = (FloatControl)
m_line.getControl(FloatControl.Type.PAN);
if (DEBUG)
{
System.out.println("max balance: " + m_panControl.getMaximum());
System.out.println("min balance: " + m_panControl.getMinimum());
System.out.println("balance precision: " +
m_panControl.getPrecision());
}
}
else
{
if (DEBUG)
{
System.out.println("FloatControl.Type.PAN is not supported");
}
}
}
private void openLine()
throws LineUnavailableException
{
if (m_line == null)
{
return;
}
AudioFormat audioFormat = m_audioInputStream.getFormat();
m_line.open(audioFormat, m_line.getBufferSize());
}
// TODO: if class can be instatiated without file or url,
m_audioInputStream may
// be null
protected AudioFormat getFormat()
{
return m_audioInputStream.getFormat();
}
public void start()
{
if (DEBUG)
{
System.out.println("start() called");
}
if (!(m_thread == null || !m_thread.isAlive()))
{
if (DEBUG)
{
System.out.println("WARNING: old thread still running!!");
}
}
if (DEBUG)
{
System.out.println("creating new thread");
}
m_thread = new Thread(this);
m_thread.start();
if (DEBUG)
{
System.out.println("additional thread started");
}
if (DEBUG)
{
System.out.println("starting line");
}
m_line.start();
}
protected void stop()
{
if (m_bRunning)
{
if (m_line != null)
{
m_line.stop();
m_line.flush();
}
m_bRunning = false;
/*
* We re-initialize the AudioInputStream. Since doing
* a stop on the stream implies that there has been
* a successful creation of an AudioInputStream before,
* we can almost safely ignore this exception.
* The LineUnavailableException can be ignored because
* in case of reinitializing the same AudioInputStream,
* no new line is created or opened.
*/
try
{
initAudioInputStream();
}
catch (UnsupportedAudioFileException e)
{
}
catch (LineUnavailableException e)
{
}
catch (IOException e)
{
}
}
}
public void pause()
{
m_line.stop();
}
public void resume()
{
m_line.start();
}
public void run()
{
if (DEBUG)
{
System.out.println("thread start");
}
int nBytesRead = 0;
m_bRunning = true;
byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];
// int nFrameSize = m_line.getFormat().getFrameSize();
while (nBytesRead != -1 && m_bRunning)
{
try
{
nBytesRead = m_audioInputStream.read(abData, 0, abData.length);
}
catch (IOException e)
{
e.printStackTrace();
}
if (nBytesRead >= 0)
{
//int nFramesToWrite = nBytesRead / nFrameSize;
if (DEBUG)
{
System.out.println("Trying to write: " + nBytesRead);
}
int nBytesWritten = m_line.write(abData, 0, nBytesRead);
if (DEBUG)
{
System.out.println("Written: " + nBytesWritten);
}
}
}
/*
* Wait until all data are played.
* This is only necessary because of the bug noted below.
* (If we do not wait, we would interrupt the playback by
* prematurely closing the line and exiting the VM.)
*/
// TODO: check how this interferes with stop()
m_line.drain();
if (DEBUG)
{
System.out.println("after drain()");
}
/*
* Stop the line and reinitialize the AudioInputStream.
* This should be done before reporting end-of-media to be
* prepared if the EOM message triggers a new start().
*/
stop();
if (DEBUG)
{
System.out.println("after this.stop()");
}
}
public boolean hasGainControl()
{
return m_gainControl != null;
}
/*
public void setMute(boolean bMute)
{
if (hasGainControl())
{
m_gainControl.setMute(bMute);
}
}
public boolean getMute()
{
if (hasGainControl())
{
return m_gainControl.getMute();
}
else
{
return false;
}
}
*/
public void setGain(float fGain)
{
if (hasGainControl())
{
m_gainControl.setValue(fGain);
}
}
public float getGain()
{
if (hasGainControl())
{
return m_gainControl.getValue();
}
else
{
return 0.0F;
}
}
public float getMaximum()
{
if (hasGainControl())
{
return m_gainControl.getMaximum();
}
else
{
return 0.0F;
}
}
public float getMinimum()
{
if (hasGainControl())
{
return m_gainControl.getMinimum();
}
else
{
return 0.0F;
}
}
public boolean hasPanControl()
{
return m_panControl != null;
}
public float getPrecision()
{
if (hasPanControl())
{
return m_panControl.getPrecision();
}
else
{
return 0.0F;
}
}
public float getPan()
{
if (hasPanControl())
{
return m_panControl.getValue();
}
else
{
return 0.0F;
}
}
public void setPan(float fPan)
{
if (hasPanControl())
{
m_panControl.setValue(fPan);
}
}
}
/*** BaseAudioStream.java ***/
//----------------------------------------------------------------------------------------
/*
* SimpleAudioStream.java
*
* This file is part of the Java Sound Examples.
*/
/*
* Copyright (c) 1999, 2000 by Matthias Pfisterer
<email***@***.com>
*
*
* This program is free software; you can redistribute it and/or
modify
* it under the terms of the GNU Library General Public License as
published
* by the Free Software Foundation; either version 2 of the License,
or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the Free
Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.UnsupportedAudioFileException;
import javax.sound.sampled.FloatControl;
public class SimpleAudioStream
extends BaseAudioStream
{
/** Flag for debugging messages.
* If true, some messages are dumped to the console
* during operation.
*/
private static boolean DEBUG = true;
// private static final int EXTERNAL_BUFFER_SIZE = 16384;
/**
* This variable is used to distinguish stopped state from
* paused state. In case of paused state, m_bRunning is still
* true. In case of stopped state, it is set to false. Doing so
* will terminate the thread.
*/
private boolean m_bRunning;
public SimpleAudioStream()
{
super();
// m_dataSource = null;
}
public SimpleAudioStream(File file)
throws UnsupportedAudioFileException, LineUnavailableException,
IOException
{
this();
setDataSource(file);
initLine();
}
public SimpleAudioStream(URL url)
throws UnsupportedAudioFileException, LineUnavailableException,
IOException
{
this();
setDataSource(url);
initLine();
}
public AudioFormat getFormat()
{
// TODO: have to check that AudioInputStream (or Line?) is
initialized
return super.getFormat();
}
/*
public void start()
{
if (DEBUG)
{
System.out.println("start() called");
}
m_thread = new Thread(this);
m_thread.start();
if (DEBUG)
{
System.out.println("additional thread started");
}
m_line.start();
if (DEBUG)
{
System.out.println("started line");
}
}
public void stop()
{
m_line.stop();
m_line.flush();
m_bRunning = false;
}
public void pause()
{
m_line.stop();
}
public void resume()
{
m_line.start();
}
*/
/*
public void run()
{
if (DEBUG)
{
System.out.println("thread start");
}
int nBytesRead = 0;
m_bRunning = true;
byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];
int nFrameSize = m_line.getFormat().getFrameSize();
while (nBytesRead != -1 && m_bRunning)
{
try
{
nBytesRead = m_audioInputStream.read(abData, 0, abData.length);
}
catch (IOException e)
{
e.printStackTrace();
}
if (nBytesRead >= 0)
{
int nRemainingBytes = nBytesRead;
// while (nRemainingBytes > 0)
//{
if (DEBUG)
{
System.out.println("Line status (active): " +
m_line.isActive());
System.out.println("Line status (running): " +
m_line.isRunning());
System.out.println("Trying to write (bytes): " + nBytesRead);
}
int nBytesWritten = m_line.write(abData, 0, nBytesRead);
if (DEBUG)
{
System.out.println("Written (bytes): " + nBytesWritten);
}
nRemainingBytes -= nBytesWritten;
//}
}
}
if (DEBUG)
{
System.out.println("after main loop");
}
}
*/
}
/*** SimpleAudioStream.java ***/
- 10
- 13
- Style Sheet inside GUIIs there any open source out there that will allow me to use Style
Sheets inside of a GUI window, preferably a JEditorPane? I need to be
able to open Style Sheet formatted html that is inputted into a
database through an ASP client, and then retrieved in a JAVA client.
- 14
- When 56K was widebandHere is a movie made in the early days of Arpanet about the coming
networking technology.
http://www.vortex.com/bv/arpanet-72.wmv
It is fun to look back to see how much has changed, and by
extrapolation imagine what is to come.
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
- 14
- Tired of 100s of stupid Getter/Setter methodsTor Iver Wilhelmsen wrote:
> Dave Glasser <email***@***.com> writes:
>
> > Java does not. Methods can be overridden with less restrictive access
> > (like the common practice of overriding Object.clone() with a public
> > clone() method) but not more restrictive access.
>
> But they can be overridden with exception-throwing code to ensure
> they're not used.
Indeed. That's more of a symptom of a problem than a reasonable
solution. You're then left with a class that professes to follow an
interface, but doesn't follow it. What you really wanted was to
implement a different interface on top of existing functionality... a
task for which composition is ideal.
Of course, in a pinch, the exception-throwing kludge will work; it's
integrated into the collections API and even given a fancy name:
"optional methods". However, even its light application there is
generally acknowledged to be one of the few great failures of that API.
--
www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
- 15
- corba-J2EE-EJB-WebSphere?Some help for a newbee?
I've been a c/C++ programmer in VMS, OS/400, and most recently, Windows
and Dot Net. However, I have recently signed on as Q/A manager at a
predominantly Java shop. We have some consultants coming in to assess our
scaleability and architecture, and I'd like to be in a position to at least
make some intelligable noises. I have gotten the sense that there is at
least some compatability between these, but I'm not picking up the extent,
if any, to which any are essentially competing technologies. Is some subset
of these an obvious choice for a medium volume site with lots of active
content, with scaleability, performance, and maintainability being our top
three criteria? Thanks.
Joe
email***@***.com
(please remove "nospam." to reply)
- 15
- Can't detect double-click mouse events in MustangThe following relates to Mustang b89 on Windows Server 2003. It may well
relate to earlier Java versions as well but I haven't tested it.
I think my understanding of mouse clicked events is wrong because I don't
get the behaviour I expect. When I implement the following code:
table.getTableHeader().addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent event)
{
System.out.println("Mouse event, clickCount = " +
event.getClickCount());
}
}
I get the following output for every double-click:
Mouse event, clickCount = 1
Mouse event, clickCount = 2
Shouldn't it be just one event with a clickCount of 2? How can I tell the
difference between the first event and a normal single-click?
Thanks,
Wes
|
| Author |
Message |
Mo

|
Posted: 2005-12-1 22:38:00 |
Top |
java-programmer, Help - Any browser crashes with Java plug in when using parameters
When ever I try to load java applet I, the plug in works fine unless I
specify any runtime parameters. Then as soon as I try to start up an
applet the browser will shut down right away with no warning or error
messages.
I've tried both 1.3.1_13 and 1.4.2_06 with both Internet Explorer 6 and
Firefox.
I thought maybe it was a Windows patch or something but can't find any
info on that. This happens both on a Windows 2000 and XP SP1 machine.
|
| |
|
| |
 |
Roedy Green

|
Posted: 2005-12-2 2:31:00 |
Top |
java-programmer >> Help - Any browser crashes with Java plug in when using parameters
On 1 Dec 2005 06:38:03 -0800, "Mo" <email***@***.com> wrote,
quoted or indirectly quoted someone who said :
>When ever I try to load java applet I, the plug in works fine unless I
>specify any runtime parameters. Then as soon as I try to start up an
>applet the browser will shut down right away with no warning or error
>messages.
>
>I've tried both 1.3.1_13 and 1.4.2_06 with both Internet Explorer 6 and
>Firefox.
those are both fairly ancient Java's. Try 1.5.0_06.
Also make sure your browsers are up to date. Firefox is 1.5.
Now, is it just YOUR applet that has trouble or all applets?
See http://mindprod.com/applets/amanuenses.html
to try out some of mine.
If just yours, for an start post the HTML you use to invoke it.
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
|
| |
|
| |
 |
Nigel Wade

|
Posted: 2005-12-2 22:09:00 |
Top |
java-programmer >> Help - Any browser crashes with Java plug in when using parameters
Mo wrote:
> When ever I try to load java applet I, the plug in works fine unless I
> specify any runtime parameters. Then as soon as I try to start up an
> applet the browser will shut down right away with no warning or error
> messages.
>
> I've tried both 1.3.1_13 and 1.4.2_06 with both Internet Explorer 6 and
> Firefox.
You need to show us how you are passing the parameters into the applet, and how
the applet is attempting to read them. Whilst it's easy enough to access the
parameters incorrectly in the applet, causing NullPointerException, I've never
seen an error causing the browser to shut down.
>
> I thought maybe it was a Windows patch or something but can't find any
> info on that. This happens both on a Windows 2000 and XP SP1 machine.
It's very unlikely that a Windows patch will have any effect on either Java or
Firefox. Are you absolutely certain the the correct plugin is being used?
--
Nigel Wade, System Administrator, Space Plasma Physics Group,
University of Leicester, Leicester, LE1 7RH, UK
E-mail : email***@***.com
Phone : +44 (0)116 2523548, Fax : +44 (0)116 2523555
|
| |
|
| |
 |
| |
 |
Index ‹ java-programmer |
- Next
- 1
- pack() and BufferedImage in JPanelI want to draw a jpg image in a JFrame, so I used JPEGImageDecoder and read
it into a BufferedImage, which I draw to a JPanel.
But when I add the component (JPanel) to the JFrame, pack() doesn't work,
and I have to setSize() explicitly.
Why doesn't pack() work? I can't do imagePanel.getWidth() either, it's 0
until visible.
(Oh, I should mention, pack() still doesn't work after it's visible...do I
have to wait
until the image is rendered?)
Also, what's the best way to swap images dynamically in this case?
TIA
Jeff
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////
public class MyImagePanel {
static String filename = "picture.jpg";
public static void main(String[] args) {
JFrame frame = new JFrame("MyImagePanel");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
MyImagePanel panel = new MyImagePanel();
ImagePanel imagePanel = new ImagePanel(filename);
frame.getContentPane().add(imagePanel, BorderLayout.CENTER);
frame.setSize((int)imagePanel.image.getWidth()+8,(int)imagePanel.image.getHe
ight()+22);
frame.setLocation(100, 100);
frame.setVisible(true);
}
}
class ImagePanel extends JPanel {
BufferedImage image;
public ImagePanel(String filename) {
try {
InputStream in = getClass().getResourceAsStream(filename);
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
image = decoder.decodeAsBufferedImage();
in.close();
// System.out.println((int)image.getWidth());
// System.out.println((int)image.getHeight());
} catch (Exception e) {
System.out.println(e);
System.exit(0);
}
}
public void paintComponent(Graphics g) {
g.drawImage(image, 0, 0, this);
}
}
- 2
- open source requirements management tool v1.4 (Java Swing)Hi,
As an FYI OSRMT version 1.4 has been released (GPL). OSRMT is a Java
Swing based software development tool for requirements analysts,
product managers, developers and quality testers. It organizes
requirements, features, design, implementation and any other artifacts
you define into a hierarchy with full traceability, versioning, and
change control.
Version 1.4 provides many performance enhancements, user interface fine
grained control realized through scripting and a new reporting system
using XML generated from the business layer.
For more information see
http://www.osrmt.com
The full list of features are below:
System Requirements
Oracle (Express) database or
MySQL 4.1+ database or
SQLServer (Express) database or
MS Access database or
PostgreSQL 8.1+ new to 1.2
Java 1.5 client or
Java 1.5 client + JBoss server (included)
Web client + JBoss server new to 1.2
Functionalty
Artifact definition and data entry - features, requirements, source,
test cases etc.
Binary attachments.
File or hyperlinks.
Hierarchal organization of artifacts.
Sequence artifacts up/down within siblings new to 1.3.
User defined priority, status etc.
Source, author, description, and many more fields.
Track entire history of changes made.
Versioning of artifacts.
Uniquely identify artifacts.
Use arrow keys to navigate tree with description pane. new to 1.3.
------------------------------------
Requirement definition of Use case steps.
Test case definition of test case steps.
Data entry of multiple details per artifact.
------------------------------------
Dependencies between any artifacts (many to many).
Traceability - traced, not traced.
Traceability tree for auditing and tracing new to 1.3.
Traceability matrix.
Traceability spanning multiple products. new to 1.4.
Graph identifying all dependencies of a selected artifact to determine
impact of change.
------------------------------------
User login environment specifc.
User password unrecoverable - password reset only.
User positions with custom privileges. improved in 1.2
Customize controls on data entry forms. improved in 1.2
Javascript for fine grained access control on user interface. realized
in 1.4.
Duplicate all forms/controls from artifact to another. new to 1.3.
Customize system views.
System options. new to 1.3.
Duplicate security from one position to another. new to 1.2
User change password.
LDAP authentication. alpha code
------------------------------------
Sort artifact list.
Filter artifact list.
Search artifact list. improved in 1.4.
------------------------------------
Change control request entry new to 1.3.
Change control custom views new to 1.3.
User groups. new to 1.3.
------------------------------------
Reports generate PDF or HTML new to 1.2
Standard reports.
Custom reports. improved in 1.2
Report writer. new to 1.2
Report criteria from filtered artifact list. new to 1.2
Custom report writing capabilities using XML new to 1.4.
------------------------------------
Binary export of system to replicate reference environment.
Export artifacts to XML.
Import artifacts from XML improved in 1.2.
Command line import artifact tree to reflect filesystem files new to
1.3.
Command line export artifacts to HTML new to 1.3.
------------------------------------
System upgrade/database migration tools. new to 1.2. improved 1.3.
Dynamic just in time tree loading. new to 1.4.
------------------------------------
Language translation import/export. new to 1.3.
- 3
- Parallel GC in 1.4.2Just a quick question concerning ParallelGC. Since ParallelGC uses the
UseAdaptiveSizePolicy to figure out the parameters (it will bark if you
try to set the -ms parameter) is it necessary or even desired to set the
-mx parameter? Is there a limit in this mode? What happens if you have
2 JVMs running on the same box and neither specifies the -mx parameter?
Is the default used or does the JVM compute it or do the JVMs try to
get as much as they can starving each other out?
- 4
- Java execute error in LinuxOn Sun, 23 Oct 2005 16:57:56 +0000, Peter Jones wrote:
> Hello all,
> I'm having a problem resolving an error that I keep getting when
> I try to execute a peice of java code. Im using Debian 3.1r0a.
>
> Here's the lo-down. The code is wrtten and complete, no syntax errors at
> all. In fact, it compiles fine. The problem is when I try to execute the
> code. The screenshot says it all. There is no code behind the terminal
> box (where the errors are being displayed). The code you see there is
> really as simple as it looks. Any ideas? I'm open to any suggestions.
> I'm running SableVM, but that hasn't helped.
Two things to remember:
1) Do not post binary articles to a non-binary group. Hint, this is a
non-binary group.
2) Post your questions into the appropriate newsgroup. For beginners
questions, this would be comp.lang.java.help
--
You can't run away forever,
But there's nothing wrong with getting a good head start.
--- Jim Steinman, "Rock and Roll Dreams Come Through"
- 5
- JCombobox custom PopupHow can i make a Combo box (JComboBox) display a custom control as
popup. I want to show a Jtable instead of a JList.
Thanks.
Paolo.
- 6
- jdk15 dopes not compile on i386When I try to compile jdk15 on FreeBSD 7.0 i386, I get this error, but
not on FreeBSD 7.0 amd64.
gmake[1]: Entering directory `/usr/ports/java/jdk15/work/install/make'
gmake[1]: Leaving directory `/usr/ports/java/jdk15/work/install/make'
Build Machine Information:
build machine =
Build Directory Structure:
CWD = /usr/ports/java/jdk15/work/control/make
TOPDIR = ./../..
CONTROL_TOPDIR = ./../../control
HOTSPOT_TOPDIR = ./../../hotspot
J2SE_TOPDIR = ./../../j2se
DEPLOY_TOPDIR = ./../../deploy
INSTALL_TOPDIR = ./../../install
SPONSORS_TOPDIR = ./../../sponsors
Build Directives:
BUILD_HOTSPOT = true
BUILD_MOTIF = false
BUILD_INSTALL = true
BUILD_SPONSORS = false
Hotspot Settings:
HOTSPOT_BUILD_JOBS =
Bootstrap Settings:
BOOTDIR = /usr/local/diablo-jdk1.5.0
BOOTSTRAP J2SDK VERSION: libc.so.6
OUTPUTDIR = /usr/ports/java/jdk15/work/control/build/bsd-i586
Build Tool Settings:
JDK_DEVTOOLS_DIR =
UNIXCOMMAND_PATH = /bin/
COMPILER_PATH = /usr/bin/
DEVTOOLS_PATH = /usr/local/bin/
USRBIN_PATH = /usr/bin/
MOTIF_DIR = /usr/local
CC_VER = 4.2.1
ZIP_VER = 2.32
PATH = /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin:/usr/compat/linux/lib
TMPDIR = /usr/ports/java/jdk15/work/control/build/bsd-i586/tmp
Build Directives:
USE_ONLY_BOOTDIR_TOOLS =
USE_HOTSPOT_INTERPRETER_MODE =
PEDANTIC =
DEV_ONLY =
J2RE_ONLY =
NO_DOCS =
NO_IMAGES =
TOOLS_ONLY =
INSANE =
PARALLEL_COMPILES = false
PARALLEL_COMPILE_JOBS = 2
FASTDEBUG = false
INCREMENTAL_BUILD = false
Build Platform Settings:
PLATFORM = bsd
ARCH = i586
LIBARCH = i386
ARCH_FAMILY = i586
ARCH_DATA_MODEL = 32
TRUE_PLATFORM = FreeBSD
OS_VERSION = 7.0-CURRENT
FREE_SPACE = 573928896
GNU Make Settings:
MAKE = gmake
MAKE VERSION =
MAKECMDGOALS = sanity
MAKEFLAGS =
SHELL = /bin/sh
Target Build Versions:
JDK_VERSION = 1.5.0_12
MILESTONE = p6
BUILD_NUMBER = jack_04_sep_2007_19_05
External File/Binary Locations:
HOTSPOT_SERVER_PATH =
/usr/ports/java/jdk15/work/control/build/bsd-i586/hotspot-i586/server
HOTSPOT_CLIENT_PATH =
/usr/ports/java/jdk15/work/control/build/bsd-i586/hotspot-i586/client
HOTSPOT_IMPORT_PATH =
/usr/ports/java/jdk15/work/control/build/bsd-i586/hotspot-i586/import
MOTIF_DIR = /usr/local
CACERTS_FILE = ./../src/share/lib/security/cacerts
No setting required for Unix Systems
WARNING: Your are not building SPONSORS workspace from
the control build. This will result in a development-only
build of the J2SE workspace, lacking the installation bundles
ERROR: Your BOOTDIR environment variable does not point
to a valid Java 2 SDK for bootstrapping this build.
A Java 2 SDK 5.0_12 build must be bootstrapped using
J2SDK 1.4.2 fcs (or later).
Apparently, your bootstrap JDK is version libc.so.6
Please update your ALT_BOOTDIR setting and start your build again.
Exiting because of the above error(s).
gmake: *** [post-sanity] Error 1
*** Error code 2
Stop in /usr/ports/java/jdk15.
*** Error code 1
Stop in /usr/ports/java/jdk15.
enc#
_______________________________________________
email***@***.com mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "email***@***.com"
- 7
- rmi activation and codebaseHello folks,
I have created three activatable rmi services. Now I want them to use three
different codebases for each service (like http://xyz/serivce1.jar http:/
xyz/service2.jar ...).
Each service is in its own activation group (this means it runs in it's own
jvm if I remember right). I tried to set the java.rmi.server.codebase
property for the activation group descriptor to the apropriate value. But
still all services seems to run with the same codebase.
What would be the preferred way to specify a different codebase for each
activatable object? I also tried to set the java.rmi.server.codebase
property during rmid startup to something like:
-J-Djava.rmi.server.codebase="http://xyz/service1.jar http://xyz
service2.jar" but this won't work either...
Greetings,
Marcus
- 8
- MI5 Persecution: Surveillance methods 5/8/95 (5827)From: Pamela Willoughby <email***@***.com>
Newsgroups: uk.misc
Date: Sat, 05 Aug 1995 18:08:32 GMT
Organization: Myorganisation
Lines: 15
Message-ID: <email***@***.com>
>Hmmm, strange eh.
>I mentioned all this goings on to my boyfriend, who works for the
>British intelligence service, and he assures me this sort of thing
>never goes on.. not ever...honest.
>Though he said the name was familiar...
it does go on, although it's an open question who does it.
Some time ago there were press reports of an Army intelligence person
called Jones who claimed Diana and Hewitt had been photographed in a
compromising position... he said he'd been doing this as part of an
Army unit which had previously operated in Northern Ireland.
Then Hewitt said he'd been told the same thing by some Army people,
and that they were threatening to release the tapes unless they
curtailed their liaison... as per usual everyone denied everything,
painted Jones as the "Jones twins" - not very original in how
they deal with their perceived enemies, are they?
You have to wonder how they manage to achieve this sort of
surveillance though. Audio you can understand, it's possible to put
a microphone through the wall, and apparently there exist devices
which will retrieve sound from a laser beam bounced off a window -
sounds sci-fi, but there's a well known surveillance electronics
company in London which sells these things.
But how would you get video out of a room, unless you had actual
physical access in order to plant a device for pickup? We're not
talking about looking in from afar, but an actual device within
the room. You could either drill through the wall and shove a
pickup through; or you could supply a trojan device with a hidden
pickup inside; but most likely, you would have to physically break
into your target room to plant a camera. That's not an infeasible
option; all it means is having your target(s) watched to make sure
they're not in the vicinity, then you negotiate any locks on the
property and find a suitable receptacle for your device.
The next question is how they defeat the usual methods of counter-
surveillance. We had private detectives carry out a "sweep" of
every room and the telephone line. They found nothing. That
indicates at least four possibilities that I can think of;
(this is all guesswork BTW, and probably fanciful guesswork
at that!)
1) no bugs (pull the other one)
2) radio-transmitting devices which can be controlled from an
external source, ie you can instruct them to switch off
when you detect a counter-surveillance sweep taking place
3) hard-wired devices; probe microphones or whatever they're
called, things you poke through the wall
4) passive surveillance devices; so you bounce laser or
radio waves off a suitable reflecting surface (again,
sounds far-fetched but such things may apparently exist).
5) there is a fifth possibility, that the PI's didn't detect
an actual transmitting device; there are technologies
specifically designed to avoid detection, eg frequency hopping
and suchlike. But how much sophistication could you build in
to a device which would have to be small enough to be
physically concealable?
I guess the real question is to find out who is ultimately
behind these "goings on". And if the "great and good" (or
the better known, at any rate) can't protect themselves,
what hope is there for the rest of us?
5827
--
Posted via a free Usenet account from http://www.teranews.com
- 9
- Jon Skeet (christmas miracle)Jon Skeet died in a car crash in Southhampton/UK 6 weeks ago.
He lost control over his white Bentley and crashed against a 200 years
old oak-tree. Jon was dead immediately.
R.I.P Jon Skeet
We will never forget you.
~*#~*#~*#~*#~*#~*#~*#~*#~*#~*#~*#
Christmas-miracle
~*#~*#~*#~*#~*#~*#~*#~*#~*#~*#~*#
Oh wait ... a miracle happened.
Bill Gates praied to godfather and Jon Skeet was reborn as Microsoft-MVP.
Jon-Skeet-posting-statistics / Timespan Dec-10-2003 to Dec-20-2003
Postings to microsoft.public.dotnet.csharp : around 150
Postings to comp.lang.java.programmer : exactly 0
~*#~*#~*#~*#~*#~*#~*#~*#~*#~*#~*#
- 10
- 11
- Struts and EJB mix upi surfed google a lot but nowhere i found a sample code about how to
integrate Struts and EJB.
all i got is advice of "session facade" , "business delegate" etc etc.
no sample code !!
it seems to me that truts and EJB's can not be mixed.
i opened EJB book and they did not talk about mixing with Struts !
i opened Struts book and they did not talk about mixing with EJB!
i found an article of DEVX article though which is not good and well
-explained.
and did not find in the net about how to mix Struts and EJB.
is there anybody can provide me some resoures/links/book/SAMPLE CODE
recommendation about this mixing ?
- 12
- getting around html encoding in outputText tag (JSF)Hi,
I'm getting a value to my JSP page (using JSF) with outputText from a
bean that has html encoding in it.
How could I temper with the HTML encoding so that I could preserve
certain tags? I need to have a few <BR> inside the text and want'em
displayed in HTML code, not <BR> etc...
What I'm doing is having a properties file for end users to modify. And
since there are some longer texts, they want to add paragraphs and line
breaks every now and then. So I've written a method that searches the
string for example \n and replaces'em with <br> just before this string
is sent to JSP. But now the encoding happens...
Or what would be the smartest way?
Regards,
Niko
- 13
- tag-lib and JSTL expression libraryHallo, I have created a tag-lib. They ask me if it integrates
with the JSTL expression library.
In other words, I would like to be able to express this:
<tag attribute="<% = somevar %> "/>
as:
<tag attribute="${value}"/>
any articles/tutorials explaining how to achieve this?
thanks
l.
- 14
- Java databaseLew schrieb:
> email***@***.com wrote:
>> Thanks for the replies. After looking at the different options I think
>> I'll go with Derby. i was very tempted by the good speed reports of
>> HSQL but I have not necessarily got loads of memory to play with so
>> Derby seems to suit my needs best
>
> And it has the advantage of not requiring a separate download.
>
Why not?
Derby seems to be not included in most Java installations.
When I installed Java the last time there was an option for derby.
Default for derby is to be not installed.. So I assume thats what most
users will have.
Also I think I read on Ubuntu/Linux derby is a seperate package, so also
not mandatory.
Derby seems to be a good choice for testing stuff but it seems not to be
software that you can rely on being on the users machine.
Christian
- 15
- rxtx problem, please help!Hello!
So I am trying to access a virtual serial port using the rxtx
library. I enumerate the ports, and loop through them attempting to
open each one. Although the portId.isCurrentlyOwned() returns false,
portId.open() still throws a PortInUseException, and when I call
portId.getCurrentOwner(), it returns null.
Here is relevant code:
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier)portList.nextElement();
/* only iterate through serial ports */
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
/* attempt to open the port */
try {
if (portId.isCurrentlyOwned()) {
System.out.println(portId.getName() + " is owned");
} else {
System.out.println(portId.getName() + " is not
owned");
}
serialPort = (SerialPort)portId.open("Square2Plus",
2000);
} catch (PortInUseException e) {
//if the port is unavailable, move to the next one
System.out.println(portId.getName() + " is owned by " +
portId.getCurrentOwner());
continue;
}
}
}
if(portOpen) {
System.out.println(portId.getName() + "is open!");
serialPort.close();
} else {
System.out.println("port not found");
}
Running this code produces:
COM3 is not owned
COM3 is owned by null
COM5 is not owned
COM5 is owned by null
port not found
So if the ports aren't owned, why is it throwing this exception, and
what can I do about it?
Please and thank you all so much!
Joshua
|
|
|