ActionPerformed not working ??
Hi all, I have written this program to display a box for user to enter a value and display the computed value :-
import java.awt.*;
import javax.swing.*;
import java.text.*;
import java.awt.event.*;
public class ConvertMachine extends JFrame implements ActionListener
//class and instance variable declaration;
public static void main(String[] args)
new ConvertMachine();
public MetricMachine()
// Layout statements
ButtonToLeft.addActionListener(this);
ButtonToRight.addActionListener(this);
} //ConvertMachine statement
public void actionPerformed(ActionEvent evt)
if ( evt.getSource() == ButtonToLeft )
CmNumber = InchesNumber * 2.54;
nameField.setText("CM =" + CmNumber);
else if ( evt.getSource() == ButtonToRight )
InchesNumber = CmNumber / 2.54;
nameField.setText("Inches =" + InchesNumber);
After I've complied , I set a breakpoint at
" ButtonToLeft.addActionListener(this) ". When I run the program and hit the breakpoint , it proceeds to the next statement and return to
" new ConvertMachine(); " and exit.
I could not understand why the ActionListener did not call the actionPerfomed fuinction.
Can anyone assist me?
Thanks
Sorry for all the trouble. Here is the code :-
import java.awt.*;
import javax.swing.*;
import java.text.*;
import java.awt.event.*;
public class ConvertMachine extends JFrame implements ActionListener
JPanel panel = (JPanel)this.getContentPane();
JPanel panel1 = new JPanel();
JButton ButtonToLeft = new JButton("<");
JButton ButtonToRight = new JButton(">");
GridBagLayout gridlayout = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
JTextArea cmTextBox = new JTextArea();
JTextArea InchesTextBox = new JTextArea();
double CmNumber = 0.0;
double InchesNumber = 0.0;
public ConvertMachine()
{ ...................
Similar Messages
-
ActionPerformed() not working correctly
This class, ClassExplorer, displays information on a class. Can you tell me why the actionPerformed() method of class ExplorerButton is not working?
import java.lang.reflect.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class ClassExplorer extends JFrame {
private JPanel basicPanel = new JPanel();
private JPanel methodPanel = new JPanel();
private JPanel packagePanel = new JPanel();
private JPanel innerPanel = new JPanel();
public ClassExplorer( Class obj ) {
setContentPane( new JTabbedPane() );
JTabbedPane content = (JTabbedPane) getContentPane();
content.addTab( "Basic", basicPanel );
content.addTab( "Methods", methodPanel );
content.addTab( "Package", packagePanel );
String className = obj.toString();
basicPanel.add( new JTitledLabel( "Name", className ) );
String superclass = obj.getSuperclass().toString();
basicPanel.add( new JTitledLabel( "Super-class", superclass ) );
ExplorerButton superclassExplore = new ExplorerButton(
"Explore Superclass...",
obj.getSuperclass() );
basicPanel.add( superclassExplore );
String packageName = obj.getPackage().getName();
packagePanel.add( new JTitledLabel( "Name", packageName ) );
String packageVendor = obj.getPackage().getImplementationVendor();
packagePanel.add( new JTitledLabel( "Vendor", packageVendor ) );
String packageVersion = obj.getPackage().getImplementationVersion();
packagePanel.add( new JTitledLabel( "Version", packageVersion ) );
String packageTitle = obj.getPackage().getImplementationTitle();
packagePanel.add( new JTitledLabel( "Title", packageVersion ) );
pack();
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setVisible( true );
public static void main( String [] args ) {
try {
new ClassExplorer( Class.forName( "javax.swing.JButton" ) );
} catch ( ClassNotFoundException cnfe ) {}
class JTitledLabel extends JLabel {
public JTitledLabel( String title, String text ) {
super( text, SwingConstants.RIGHT );
setBorder( new TitledBorder( new EtchedBorder(), title,
TitledBorder.LEFT, TitledBorder.TOP ) );
class ExplorerButton extends JButton implements ActionListener {
private Class exploreTo;
public void actionPerformed( ActionEvent ae ) {
new ClassExplorer( exploreTo );
public ExplorerButton( String text, Class c ) {
super( text );
exploreTo = c;
}Please ant thank you in advance.You have not added the listener to the button.
Add a constructor to the ExplorerButton class like so...
class ExplorerButton extends JButton implements ActionListener
private Class exploreTo;
public ExplorerButton()
super();
addActionLisener(this); //THIS IS WHAT YOU ARE MISSING
public void actionPerformed( ActionEvent ae )
new ClassExplorer( exploreTo );
public ExplorerButton( String text, Class c )
super( text );
exploreTo = c;
}This tells the class that it is listening to itself.
N35Sy -
Swing components in applet not working in web browser
Hi Guys,
I've created an applet which makes use of some swing components, but unfortunately, not all of them function properly in my web browser (internet explorer or Mozilla Firefox). Its mainly the buttons; the last buttons works and displays the correct file within the broswer, but the first 5 buttons do not work...
any help please on how I can sort this problem out?
Heres the code for my applet:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
public class MainAppWindow extends JApplet
int gapBetweenButtons = 5;
final JPanel displayPanel = new JPanel(new BorderLayout());
public void init()
//Panel for overall display in applet window.
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(new JLabel(new ImageIcon(getClass().getResource("images/smalllogo2.gif"))),BorderLayout.NORTH);
//sub mainPanel which holds all mainPanels together.
JPanel holdingPanel = new JPanel(new BorderLayout());
//Panel for displaying all slide show and applications in.
displayPanel.setBackground(Color.white);
displayPanel.add(new JLabel(new ImageIcon(getClass().getResource("images/IntroPage.jpg"))),BorderLayout.CENTER);
displayPanel.setPreferredSize(new Dimension(590,400));
JPanel buttonPanel = new JPanel(new GridLayout(6,1,0,gapBetweenButtons));
buttonPanel.setBackground(Color.white);
JButton button1 = new JButton("User guide");
button1.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e)
if(displayPanel.getComponents().length > 0)displayPanel.removeAll(); // If there are any components in the mainPanel, remove them and then add label
displayPanel.setBackground(Color.white);
displayPanel.add(new JLabel(new ImageIcon("images/UserGuide.jpg")));
displayPanel.revalidate(); // Validates displayPanel to allow changes to occur onto it, allowing to add different number images/applicaions to it.
JButton button2 = new JButton("What is a Stack?");
button2.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e)
if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
displayPanel.setBackground(Color.white);
displayPanel.add(new JLabel(new ImageIcon("images/WhatIsAStack.jpg")));
displayPanel.revalidate();
JButton button3 = new JButton("STACK(ADT)");
button3.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e)
if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
displayPanel.setBackground(Color.white);
displayPanel.add(new JLabel(new ImageIcon("images/StackADT.jpg")));
displayPanel.revalidate();
JButton button4 = new JButton("Stacks in the Real World");
button4.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e)
if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
displayPanel.setBackground(Color.white);
displayPanel.add(new JLabel(new ImageIcon("images/StacksInTheRealWorld.jpg")));
displayPanel.revalidate();
JButton button5 = new JButton("DEMONSTRATION");
button5.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e)
if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
Demonstration app = new Demonstration();
JPanel appPanel = app.createComponents();//gets the created components from Demonstration application.
appPanel.setBackground(Color.pink);
displayPanel.add(appPanel);
displayPanel.revalidate();
JButton button6 = new JButton("Towers Of Hanoi");
button6.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e)
if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
TowerOfHanoi app = new TowerOfHanoi();
JPanel appPanel = app.createComponents();//gets the created components from Towers of Hanoi
JPanel mainPanel = new JPanel();//panel used to centralise the application in center
mainPanel.add(appPanel);
mainPanel.setBackground(Color.pink); //sets mainPanel's background color for 'Towers Of Hanoi'
displayPanel.add(mainPanel);
displayPanel.revalidate();
//adding buttons to the buttonPanel.
buttonPanel.add(button1);
buttonPanel.add(button2);
buttonPanel.add(button3);
buttonPanel.add(button4);
buttonPanel.add(button5);
buttonPanel.add(button6);
JPanel p = new JPanel(); // Used so that the buttons maintain their default shape
p.setBackground(Color.white);
p.add(buttonPanel);
holdingPanel.add(p,BorderLayout.WEST);
holdingPanel.add(displayPanel,BorderLayout.CENTER);
//Positioning of holdingPanel in mainPanel.
mainPanel.add(holdingPanel,BorderLayout.CENTER);
//indent mainPanel so that its not touching the applet window frame.
mainPanel.setBorder(BorderFactory.createEmptyBorder(10,20,10,20));
mainPanel.setBackground(Color.white);
mainPanel.setPreferredSize(new Dimension(850,600)); //size of applet window
mainPanel.setOpaque(false); // Needed for Applet
this.setContentPane(mainPanel);
}Thanks for the response. I don't quite understand what you're talking about though. I have, in my humble knowledge, done nothing with packages. I have put the applet class (WiaRekenToolActiz.class is the applet class) in the jar file wia_actiz_archive.jar. From what I read on the tutorial, java looks for the applet class in all the jar files specified. Since I put my CODEBASE as the main url, I thought it baiscally didn't matter where you out the html file.
I shall include the complete html page complete with applet tag to perhaps illuminate a bit more what I mean...
<html>
<head>
<title>Wia Rekenmodule hello!</title>
</head>
<body bgcolor="#C0C0C0">
<applet
CODEBASE= "http://www.creativemathsolutions.nl/test"
ARCHIVE= "Actiz/wia_actiz_archive.jar, Generic/wia_archive.jar"
CODE="WiaRekenToolActiz.class"
WIDTH=915 HEIGHT=555
>
<PARAM NAME = naam VALUE = "Piet Janssen">
<PARAM NAME = gebdag VALUE = "01">
<PARAM NAME = gebmaand VALUE = "06">
<PARAM NAME = gebjaar VALUE = "1970">
<PARAM NAME = geslacht VALUE = "man">
<PARAM NAME = dienstjaren VALUE = "10">
<PARAM NAME = salaris VALUE = "56500">
<PARAM NAME = deeltijdpercentage VALUE = "100">
<PARAM NAME = accountnaam VALUE = "Zorginstelling 'De Zonnebloem'">
</applet>
</body>
</html> -
SetUncaughtExceptionHandler() not working
Hi there,
using java 1.5... and using setDefaultUncaughtExcepion!handler() and setUncaughtExceptionHandler() to trap all uncaught exception in my (big) program. I'm observing that my 2 handlers are correctly called when a uncaught exception happens... in most cases !!!!
I have one specific example where the handler is not called when the exception occurs. I checked carefully the properties on the thread and threadgroup to ensure all is correclty set... and everything sounds ok:
here the part where the code is throwing an exception (volunteer in this case); this is executed in the EDT (when the user press a "submit" button):
public void submit() {
CUtils.trace(LOG_PRIORITY_INFO, LOG_PANEL, LOG_PANELCREATETESTCASE_LABEL, "submit pressed");
String testcaseIndex = createTestcaseForm.getFormItemValue(0);
System.out.println(" **************** " + Thread.currentThread().getName());
System.out.println(" **************** " + Thread.currentThread().getId());
System.out.println(" **************** " + Thread.currentThread().getUncaughtExceptionHandler().toString());
int toto = Integer.parseInt("p");
System.out.println(" toto = " + toto);With this code and a handler that displays a JDialog containing the stacktrace etc... I'm getting the following traces:
[main ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [form ] form constructed
[main ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [form ] form contains 3 items
[main ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [panel ] getting core...
Exception occurred during event dispatching:
java.lang.NumberFormatException: For input string: "p"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at com.xqual.xstudio.gui.module.editing.create.CPanel_CreateTestcase.submit(CPanel_CreateTestcase.java:110)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[main ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [controlbar ] actionPerformed(javax.swing.JButton[,163,5,85x25,alignmentX=0.0,alignmentY=0.5,border=com.sun.java.swing.plaf.windows.XPStyle$XPEmptyBorder@19977bd,flags=296,maximumSize=,minimumSize=,preferredSize=,defaultIcon=javax.swing.ImageIcon@842d9a,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Submit,defaultCapable=true])
[main ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [panel crt case] submit pressed
**************** AWT-EventQueue-0
**************** 13
**************** com.xqual.xstudio.gui.CMain$CDefaultExceptionHandler@1c20611The handler's uncaughtException() method is not called at all !
Additional point#1: the handler works well in all the other cases (main thread, EDT events etc...) just this case is not working
Additional point#2: I used setDefaultUncaughtExceptionHandler() (used for all classes) but it sounds I needed to use a setUncaughtExceptionHandler() on the EDT to have it working for awt.
any ideas ? or someone got the same problem ?
Cheers,
Eg\\Hi there,
using java 1.5... and using
setDefaultUncaughtExcepion!handler() and
setUncaughtExceptionHandler() to trap
all uncaught exception in my (big) program. I'm
observing that my 2 handlers are correctly called
when a uncaught exception happens... in most cases
I have one specific example where the handler is not
called when the exception occurs. I checked carefully
the properties on the thread and threadgroup to
ensure all is correclty set... and everything sounds
ok:
here the part where the code is throwing an exception
(volunteer in this case); this is executed in the EDT
(when the user press a "submit" button):
public void submit() {
CUtils.trace(LOG_PRIORITY_INFO, LOG_PANEL,
G_PANEL, LOG_PANELCREATETESTCASE_LABEL, "submit
pressed");
String testcaseIndex =
eIndex = createTestcaseForm.getFormItemValue(0);
System.out.println(" **************** " +
**** " + Thread.currentThread().getName());
System.out.println(" **************** " +
**** " + Thread.currentThread().getId());
System.out.println(" **************** " +
**** " +
Thread.currentThread().getUncaughtExceptionHandler().t
oString());
int toto = Integer.parseInt("p"); //NOT "p" USE "123" or any integer number
System.out.println(" toto = " +
to = " + toto);With this code and a handler that displays a JDialog
containing the stacktrace etc... I'm getting the
following traces:
[main ] [AWT-EventQueue-0#13]
[CDefaultExceptionHandler] [form ] form
constructed
[main ] [AWT-EventQueue-0#13]
#13] [CDefaultExceptionHandler] [form ]
form contains 3 items
[main ] [AWT-EventQueue-0#13]
#13] [CDefaultExceptionHandler] [panel ]
getting core...
Exception occurred during event dispatching:
java.lang.NumberFormatException: For input string:
"p"
at
t
java.lang.NumberFormatException.forInputString(NumberF
ormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at
t
com.xqual.xstudio.gui.module.editing.create.CPanel_Cre
ateTestcase.submit(CPanel_CreateTestcase.java:110)
at
t
java.awt.EventDispatchThread.pumpEvents(EventDispatchT
hread.java:157)
at
t
java.awt.EventDispatchThread.pumpEvents(EventDispatchT
hread.java:149)
at
t
java.awt.EventDispatchThread.run(EventDispatchThread.j
ava:110)
[main ] [AWT-EventQueue-0#13]
#13] [CDefaultExceptionHandler] [controlbar ]
actionPerformed(javax.swing.JButton[,163,5,85x25,alig
nmentX=0.0,alignmentY=0.5,border=com.sun.java.swing.pl
af.windows.XPStyle$XPEmptyBorder@19977bd,flags=296,max
imumSize=,minimumSize=,preferredSize=,defaultIcon=java
x.swing.ImageIcon@842d9a,disabledIcon=,disabledSelecte
dIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,
left=14,bottom=2,right=14],paintBorder=true,paintFocus
=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,
rolloverSelectedIcon=,selectedIcon=,text=Submit,defaul
tCapable=true])
[main ] [AWT-EventQueue-0#13]
#13] [CDefaultExceptionHandler] [panel crt case]
submit pressed
**************** AWT-EventQueue-0
**************** 13
com.xqual.xstudio.gui.CMain$CDefaultExceptionHandler@1
c20611The handler's uncaughtException() method
is not called at all !
Additional point#1: the handler works well in
all the other cases (main thread, EDT events etc...)
just this case is not working
Additional point#2: I used
setDefaultUncaughtExceptionHandler()(used for all classes) but it sounds I needed to use
a setUncaughtExceptionHandler() on the
EDT to have it working for awt.
any ideas ? or someone got the same problem ?
Cheers,
Eg\\May be you need more array index than you decleare. -
Links not working in executable jar
I have a problem with my java application
html and images files do not work in executable jar
though the application works normally
I tried some suggestion but I received an exception thread indicating problem at
ImageIcon iChing = new ImageIcon(imageURL);
Please could you help me thank you so much
here is the class
public class Main extends JFrame
* objects required for the GUI: JFrame,JLabel, JButton, ImageIcon, JPanel,
* Dimension
private static final long serialVersionUID = 1L;
JButton jbEnter;
ImageIcon iChing, logo;
JPanel buttonPanel, ImagePanel;
JLabel jlbIching;
Dimension dim;
URL imageURL;
File fileName;
// Class constructor to create the GUI
public Main()
Container container = getContentPane();
URL imageURL = this.getClass().getClassLoader().getResource("src/myFiles/iching.gif");
ImageIcon iChing = new ImageIcon(imageURL);
jlbIching = new JLabel(iChing);
// button to go to the Title class
jbEnter = new JButton("Enter ");
jbEnter.setBorderPainted(false);
jbEnter.setFont(new Font("Edwardian Script ITC", Font.BOLD, 42));
jbEnter.setBackground(new Color(0, 0, 50));
jbEnter.setForeground(Color.YELLOW);
jbEnter.addActionListener(new ActionListener() {
// method to render the current frame invisible and trigger the
// Welcome Menu
public void actionPerformed(ActionEvent e)
setVisible(false);
// this line does not work...............
new Title();
} // close the actionPerformed(ActionEvent e) Method
}); // close the addActionListener(new ActionListener() method
// Panel holding the decorative image and Button
ImagePanel = new JPanel();
ImagePanel.add(jlbIching);
ImagePanel.setBackground(new Color(0, 0, 50));
buttonPanel = new JPanel();
buttonPanel.add(jbEnter);
buttonPanel.setBackground(new Color(0, 0, 50));
// setting up of the panels position
container.add(ImagePanel, BorderLayout.CENTER);
container.add(buttonPanel, BorderLayout.SOUTH);
dim = Toolkit.getDefaultToolkit().getScreenSize();
dim.width = dim.width / 2 - 300;
dim.height = dim.height / 2 - 250;
setBounds(dim.width, dim.height, 400, 400);
setSize(600, 500);
setResizable(false);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//To set the icon for the application. Top left hand corner.
//this.setIconImage(Image);
setIconImage(new ImageIcon("src/myFiles/ichingRose.gif").getImage());
} // close the Constructor
* the main method for the program.
* @param args
* The command-line arguments.
public static void main(String[] args)
new Main();
} // close the main method
} // close the Main classThank you very much for your quick reply and really hope you can help me a little more
it's so frustrating
I do not really know about the relative path but here is my xml file
<?xml version="1.0" encoding="UTF-8" ?>
<project default="jar">
<!-- Compile and zip the source code into a jar -->
<target name="jar">
<!-- Make the folders we'll need -->
<mkdir dir="ant"/>
<mkdir dir="work"/>
<mkdir dir="ant/myFiles"/
<!--
Compile all the .java files into .class files
debug = yes Include debug information in the .class files
destdir Where to put the .class files
source and target Use Java version 1.6.0_06
-->
<javac
debug="yes"
destdir="ant"
source="1.6"
target="1.6">
<!-- Folders that have trees of .java files to compile -->
<src path="src"/>
</javac>
<copy todir="ant/myFiles"><fileset dir="src/myFiles"></fileset></copy>
<!--
Zip files together to make a jar
jarfile Where to make the .jar file, overwrite something there
basedir Find the files to zip in the jar here
-->
<jar
jarfile="work/BookOfChanges.jar"
basedir="ant"
>
<!-- Write a manifest inside the jar -->
<manifest>
<!-- The class Java will run when the user double-clicks the jar -->
<attribute name="Main-Class" value="iChing.Main"/>
</manifest>
</jar>
</target>
</project> -
Web Cam applet is not working in great consistency
Hi... My video capturing applet is not working very well.
The image stream is displayed on the web page in JPEG format with 0.5 quality. However, it crashes after a while and the it does not release the vfw resource.
I have to restart my machine in order to execute it again.
Can anyone please help?
Thanks.
CarterOk. Thanks.
Sender Applet
import javax.swing.*;
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
/*<applet code="myGUIApplet.class" width="300" height="300"></applet>*/
public class myGUIApplet extends JApplet implements ActionListener
private JPanel bottom=new JPanel();
private JPanel centVisual=new JPanel();
private JPanel connectionAddress=new JPanel();
private JButton capture=new JButton("Start Capturing");
private JButton stops=new JButton("Stop");
private JMenuBar menubar=new JMenuBar();
private JMenu file=new JMenu("file");
private JMenuItem fileItem1=new JMenuItem("Exit");
private JLabel serverip=new JLabel("Server IP");
private JTextField setIP=new JTextField();
public static JTextField ServerInfo=new JTextField();
private MyTransmitter mytrans;
private String ip;
public static final String DEFAULT_MULTICAST_IP="226.10.10.20";
public static final String DEFAULT_PORT="80";
public void init()
//setSize(400,400);
setLayout(new BorderLayout());
menubar.add(file);
file.add(fileItem1);
bottom.setLayout(new BorderLayout());
bottom.setBackground(Color.black);
bottom.add("West",capture);
bottom.add("East",stops);
connectionAddress.setLayout(new BorderLayout());
connectionAddress.add("North",serverip);
connectionAddress.add("South",setIP);
ServerInfo.setEditable(false);
connectionAddress.add("Center",ServerInfo);
setIP.addActionListener(this);
setIP.setText("");
capture.setBackground(Color.lightGray);
capture.addActionListener(this);
stops.addActionListener(this);
fileItem1.addActionListener(this);
add("South",bottom);
add("North",menubar);
add("Center",connectionAddress);
public void actionPerformed(ActionEvent ae){
Object source=ae.getSource();
if(source==capture){
if(setIP.getText().equals(""))
ip=DEFAULT_MULTICAST_IP;
else{
ip=setIP.getText();
if(mytrans!=null){
mytrans.stopTransmitter();
mytrans=null;
System.out.println(" - Connecting to "+ip+" port: "+DEFAULT_PORT);
ServerInfo.setText(" - Connecting to "+ip+" port: "+DEFAULT_PORT);
mytrans=new MyTransmitter(ip,DEFAULT_PORT,ServerInfo);
mytrans.start();
if(source==stops){
if(mytrans!=null)
mytrans.stopTransmitter();
System.exit(0);
if(source==fileItem1){
if(mytrans!=null)
mytrans.stopTransmitter();
System.exit(0);
public void destroy(){
if(mytrans!=null){
mytrans.stopTransmitter();
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
import java.net.InetAddress;
import javax.media.*;
import javax.media.protocol.*;
import javax.media.protocol.DataSource;
import javax.media.format.*;
import javax.media.control.TrackControl;
import javax.media.control.QualityControl;
import javax.media.rtp.*;
import javax.media.rtp.rtcp.*;
import javax.media.rtp.*;
import java.io.InputStream;
import javax.media.rtp.RTPManager;
public class MyTransmitter extends Thread
private MediaLocator videoLocator;
private String ipAddress;
private int basePort;
private Integer stateLock=new Integer(0);
private boolean failure;
private Processor processor;
private DataSource videoDataInput,videoDataOutput;
private RTPManager rtpMgrs[];
private VideoFormat JPEG_VIDEO=new VideoFormat(VideoFormat.JPEG_RTP);
private SendStream sendStream;
private SourceDescription descriptionList[];
private JTextField infoField;
public MyTransmitter(String ips,String ports,JTextField ServerInfo){
infoField=ServerInfo;
ipAddress=ips;
Integer bPort=Integer.valueOf(ports);
if(bPort!=null)
basePort=bPort.intValue();
public void run()
initializeVideo();
if(videoLocator!=null){
createMyProcessor();
createMyManager();
// May be should put inside the if..else statements
//createMyTransmitter();
// Initailize the video
public void initializeVideo()
// Stre the devices in a vector
VideoFormat format=new VideoFormat(VideoFormat.RGB);
Vector deviceList=CaptureDeviceManager.getDeviceList(format);
CaptureDeviceInfo deviceInfo=null;
// If there is more than one device detected
if(deviceList.size()>0){
// Set the first device to device Info
// GEt the media locator of the devie
deviceInfo=(CaptureDeviceInfo)deviceList.elementAt(0);
videoLocator=deviceInfo.getLocator();
}else{
System.out.println(" --X No device found...");
infoField.setText(" --X No device found...");
public void createMyProcessor()
boolean result=false;
DataSource ds=null;
// Check if the media locator is null
if(videoLocator==null){
System.out.println(" --X No video locator..");
infoField.setText(" --X No video locator...");
System.out.println(" - Trying to create a Processor..");
infoField.setText(" - Trying to create a Processor..");
// Attempt to create DataSource from media locator
try{
ds=Manager.createDataSource(videoLocator);
}catch(Exception ex){
System.out.println(" --X Unable to create dataSource : "+ex.getMessage());
System.out.println(" - Video data source is created..");
infoField.setText(" - Video data source is created..");
// Try to create Processor from DataSource
try{
processor=Manager.createProcessor(ds);
}catch(NoProcessorException npe){
System.out.println(" --X Unable to create Processor: "+npe.getMessage());
infoField.setText(" --X Unable to create Processor: "+npe.getMessage());
catch(IOException ioe){
System.out.println(" --X IOException creating Processor..");
infoField.setText(" --X IOException creating Processor..");
// Wait for the processor to be configured
result=waitForState(processor,Processor.Configured);
if(result==false){
System.out.println(" --X Could not configure processor..");
infoField.setText(" --X Could not configure processor..");
// Set the track controls for processor
TrackControl []tracks=processor.getTrackControls();
if(tracks==null || tracks.length<1){
System.err.println(" --X No track is found..");
infoField.setText(" --X No track is found..");
// Set the content description of processor to RAW_RTP format
// This will limit the supported formats to reported from
// Track.getSupportedFormats() to valid RTP format
ContentDescriptor cdes=new ContentDescriptor(ContentDescriptor.RAW_RTP);
processor.setContentDescriptor(cdes);
Format []supported;
Format chosen=null;
boolean atLeastOneTrack=false;
for(int i=0;i<tracks.length;i++){
Format format=tracks.getFormat();
if(tracks[i].isEnabled()){
supported=tracks[i].getSupportedFormats();
// WE've set the output content to RAW_RTP.
// So, all the supporte formats should work with RAW_RTP.
// We will pick the first one.
if(supported.length>0){
if(supported[0] instanceof VideoFormat){
chosen=checkVideoSize(tracks[i].getFormat(),supported[0]);
}else
chosen=supported[0];
tracks[i].setFormat(chosen);
System.out.println(" Track "+i+" is transmitted in "+chosen+" format.. ");
infoField.setText(" Track "+i+" is transmitted in "+chosen+" format.. ");
atLeastOneTrack=true;
}else{
// If no format is suitable, track is disabled
tracks[i].setEnabled(false);
}else
tracks[i].setEnabled(false);
if(!atLeastOneTrack)
System.out.println("atLeastOneTrack: "+atLeastOneTrack);
System.out.println(" --X Could Not find track to RTP format..");
infoField.setText("atLeastOneTrack: "+atLeastOneTrack);
infoField.setText(" --X Could Not find track to RTP format..");
result=waitForState(processor,Controller.Realized);
if(result==false){
System.out.println(" --X Could NOT realize processor...");
infoField.setText(" --X Could NOT realize processor...");
// Set the JPEG Quality to value 0.5
setJPEGQuality(processor,0.5f);
// Set the output Data Source
videoDataOutput=processor.getDataOutput();
//Start the processor
processor.start();
public void setJPEGQuality(Processor p,float values)
Control []cs=p.getControls();
QualityControl qc=null;
VideoFormat JPEGFmt=new VideoFormat(VideoFormat.JPEG);
// Loop through the ocntrols to find the Quality control for the JPEG encoder
for(int i=0;i<cs.length;i++){
if(cs[i] instanceof QualityControl && cs[i] instanceof Owned){
Object owner=((Owned)cs[i]).getOwner();
// Check if the owner is the Codec
// Check the format of output as well
if(owner instanceof Codec){
Format fmts[]=((Codec)owner).getSupportedOutputFormats(null);
// Loop through the supported format and set the quality to 0.5
for(int j=0;j<fmts.length;j++){
qc=(QualityControl)cs[i];
qc.setQuality(values);
System.out.println(" - Quality is set to "+values+" on "+qc);
infoField.setText(" - Quality is set to "+values+" on "+qc);
break;
if(qc!=null)
break;
public Format checkVideoSize(Format originalFormat,Format supported)
int width,height;
Dimension size=((VideoFormat)originalFormat).getSize();
Format jpegFormat=new Format(VideoFormat.JPEG_RTP);
Format h263fmt=new Format(VideoFormat.H263_RTP);
if(supported.matches(jpegFormat)){
width=(size.width%8 == 0 ? size.width:(int)(size.width%8)*8);
height=(size.height%8 == 0 ? size.height:(int)(size.height%8)*8);
}else if(supported.matches(h263fmt)){
if(size.width<128){
width=128;
height=96;
}else if(size.width<176){
width=176;
height=144;
}else{
width=352;
height=288;
}else{
// Unknown format, just return it.
return supported;
return (new VideoFormat(null,new Dimension(width,height),Format.NOT_SPECIFIED,null,Format.NOT_SPECIFIED)).intersects(supported);
public boolean waitForState(Processor p,Integer status)
p.addControllerListener(new StateListener());
failure=false;
if(status==Processor.Configured){
p.configure();
}else if(status==Processor.Realized){
p.realize();
//Wait until an event that confirms the success of the method, or failure of an event
while(p.getState()<status && !failure){
synchronized(getStateLock()){
try{
// Wait
getStateLock().wait();
}catch(InterruptedException ie){
return false;
if(failure)
return false;
else
return true;
public Integer getStateLock(){
return stateLock;
public void setFailure(){
failure=true;
public void createMyManager()
SessionAddress destAddress;
InetAddress ipAddr;
int port;
SourceDescription srcDesList[];
PushBufferDataSource pbds=(PushBufferDataSource)videoDataOutput;
PushBufferStream pbss[]=pbds.getStreams();
rtpMgrs=new RTPManager[pbss.length];
for(int a=0;a<pbss.length;a++){
try{
// RTP Managers or RTP Manager?????
rtpMgrs[a]=RTPManager.newInstance();
port=basePort;
ipAddr=InetAddress.getByName(ipAddress);
SessionAddress localAddr=new SessionAddress(InetAddress.getLocalHost(),port+20);
destAddress=new SessionAddress(ipAddr,port,1);
Integer myipprefix=Integer.valueOf(ipAddress.substring(0,3));
if((myipprefix.intValue()>223) && (myipprefix.intValue()<240)){
rtpMgrs[a].initialize(destAddress);
}else{
rtpMgrs[a].initialize(localAddr);
rtpMgrs[a].addTarget(destAddress);
System.out.println(" Created RTP session: "+ipAddress+" "+port+" to "+destAddress);
infoField.setText(" Created RTP session: "+ipAddress+" "+port+" to "+destAddress);
if(videoDataOutput!=null){
sendStream=rtpMgrs[a].createSendStream(videoDataOutput,0);
sendStream.start();
System.out.println(" RTP stream is started..");
infoField.setText(" RTP stream is started..");
}catch(UnsupportedFormatException ex){
System.out.println(" --X Unsupported Format : "+ex);
infoField.setText(" --X Unsupported Format : "+ex);
catch(IOException ioe){
System.out.println(" --X IOException : "+ioe.getMessage());
infoField.setText(" --X IOException : "+ioe.getMessage());
catch(Exception ex){
System.out.println(" --X Unable to create RTP Manager...");
System.out.println(ex.getMessage());
infoField.setText(" --X Unable to create RTP Manager..."+ex.getMessage());
/*public void createMyTransmitter()
try{
if(videoDataOutput!=null){
sendStream=rtpMgrs[i].createSendStream(videoDataOutput,0);
sendStream.start();
}catch(UnsupportedFormatException ex){
System.out.println(" --X Unsupported Format : "+ex);
infoField.setText(" --X Unsupported Format : "+ex);
catch(IOException ioe){
System.out.println(" --X IOException : "+ioe.getMessage());
infoField.setText(" --X IOException : "+ioe.getMessage());
public void stopTransmitter(){
if(processor!=null){
processor.stop();
processor.close();
processor=null;
// Loop through RTP Managers and close all managers..
// Dispose them for garbage collection
for(int i=0;i<rtpMgrs.length;i++){
rtpmgrs[i].removeSendStream(this);
rtpMgrs[i].removeTargets("Session ended..");
rtpMgrs[i].dispose();
//rtpMgrs.removeTargets("Session ended..");
//rtpMgrs.dispose();
* StateListener class to handle Controller events
class StateListener implements ControllerListener{
public void controllerUpdate(ControllerEvent ce){
if(ce instanceof ControllerClosedEvent){
processor.close();
/* Handle all controller events and notify all
waiting thread in waitForState method */
if(ce instanceof ControllerEvent){
synchronized(getStateLock()){
getStateLock().notifyAll();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Client Applet
import javax.media.*;
import javax.media.protocol.*;
import javax.media.protocol.DataSource;
import javax.media.control.BufferControl;
import javax.media.control.*;
import javax.media.format.*;
import javax.media.rtp.*;
import javax.media.rtp.rtcp.*;
import javax.media.rtp.event.*;
import com.sun.media.rtp.RTPSessionMgr;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.net.*;
import java.net.URL;
import java.net.Socket;
/*<applet code="clientPlayerApplet.class" width="400" height="300">
<param name=ServerIPS value="192.168.0.9">
<param name=ServerPort value="80">
<param name=TimeToLive value="1">
<param name=archive value="clientPlayerApplet.jar">
</applet> */
public class clientPlayerApplet extends JApplet implements ControllerListener, ReceiveStreamListener,SessionListener
String sessions[]=null;
RTPManager rtpmgrs[]=null;
boolean dataReceived=false;
Object myDataSync=new Object();
private Player player;
//private String serveripadd="226.10.10.20";
//private int serverPort=2020;
//private int timeToLive=1;
private JPanel panel;
private Vector currentParticipant;
public void init()
panel=new JPanel();
setLayout(new BorderLayout());
add("Center",panel);
//String[] urls;
/*urls[0]=getParameter("ServerIPS");
urls[1]="/";
urls[2]=getParameter("ServerPort");*/
String []urls={new String(getParameter("ServerIPS")+"/"+getParameter("ServerPort")+"/"+getParameter("TimeToLive"))};
sessions=urls;
initializePlayer();
public void initializePlayer(){
try{
InetAddress ipAddr;
SessionAddress localAddr=new SessionAddress();
SessionAddress destAddr;
rtpmgrs=new RTPManager[sessions.length];
currentParticipant=new Vector();
//rtpmgrs=new RTPManager();
SessionLabel session=null;
//Open RTP session
for(int i=0;i<sessions.length;i++){
try{
session=new SessionLabel(sessions[i]);
//session=new SessionLabel(sessions);
}catch(IllegalArgumentException iae){
System.out.println(" --X Unable to parse the sesion address given");
System.out.println(" - Open RTP session for "+session.port);
rtpmgrs[i]=(RTPManager) RTPManager.newInstance();
rtpmgrs[i].addSessionListener(this);
rtpmgrs[i].addReceiveStreamListener(this);
ipAddr=InetAddress.getByName(session.addr);
if(ipAddr.isMulticastAddress()){
localAddr=new SessionAddress(ipAddr,session.port,session.ttl);
destAddr=new SessionAddress(ipAddr,session.port,session.ttl);
}else{
localAddr=new SessionAddress(InetAddress.getLocalHost(),session.port);
destAddr=new SessionAddress(ipAddr,session.port);
rtpmgrs[i].initialize(localAddr);
BufferControl bc=(BufferControl)rtpmgrs[i].getControl("javax.media.control.BufferControl");
if(bc!=null)
bc.setBufferLength(600);
rtpmgrs[i].addTarget(destAddr);
}catch(Exception ex){
System.out.println(" --X Cannot create RTP Session "+ex.getMessage());
long currentTime=System.currentTimeMillis();
long waitingDuration=10000;
try{
synchronized(myDataSync){
while(!dataReceived && (System.currentTimeMillis() - currentTime < waitingDuration)){
if(!dataReceived){
myDataSync.wait(1000);
}catch(Exception ex){
System.out.println(" --X myDataSync interrupted...");
if(!dataReceived){
System.out.println(" No RTP Stream Data is received.." );
public void destroy()
for(int i=0;i<currentParticipant.size();i++){
//if(player!=null)
((MyPlayList)currentParticipant.elementAt(i)).close();
// Loop through the RTP Managers
// -> Remove the stream listener
// -> Remove the target address
// -> Dispose the RTP Manager for garbage collection
currentParticipant.removeAllElements();
for(int i=0;i<rtpmgrs.length;i++){
if(rtpmgrs[i]!=null){
rtpmgrs[i].removeReceiveStreamListener(this);
rtpmgrs[i].removeTargets(" Closing session..");
rtpmgrs[i].dispose();
rtpmgrs[i]=null;
MyPlayList find(Player pl){
for(int i=0;i<currentParticipant.size();i++){
MyPlayList mpl=(MyPlayList)currentParticipant.elementAt(i);
if(mpl.clientPlay==pl)
return mpl;
return null;
MyPlayList find(ReceiveStream rs){
for(int i=0;i<currentParticipant.size();i++){
MyPlayList mpl=(MyPlayList)currentParticipant.elementAt(i);
if(mpl.stream==rs)
return mpl;
return null;
* ReceiveStream Listener function *
public synchronized void update(ReceiveStreamEvent rse)
RTPManager mgr=(RTPManager)rse.getSource();
ReceiveStream stream=rse.getReceiveStream();
Participant participant=rse.getParticipant();
if(rse instanceof RemotePayloadChangeEvent){
System.out.println(" -- Received Payload Change Event..");
System.out.println(" Sorry, no payload change is allowed.");
}else if(rse instanceof NewReceiveStreamEvent){
try{
// Once the new stream is detected, create the datasource
stream=((NewReceiveStreamEvent)rse).getReceiveStream();
DataSource outputDS=stream.getDataSource();
// Get RTP Controller to find the format
RTPControl rtpctl=(RTPControl)outputDS.getControl("javax.media.rtp.RTPControl");
if(rtpctl!=null){
System.out.println(" -> Received new rtP stream: "+rtpctl.getFormat());
}else
System.out.println(" -> Received new RTP stream");
if(participant!=null){
System.out.println(" -> New stream received from: "+participant.getCNAME());
}else{
System.out.println(" -> New stream detected... ");
player=Manager.createPlayer(outputDS);
if(player==null)
return;
System.out.println(" - Player is created...");
player.addControllerListener(this);
player.realize();
// Helper class to identify the player and stream
MyPlayList mpl=new MyPlayList(player,stream);
// Add the helper class object to Vector
currentParticipant.addElement(mpl);
// Notify initializePlayer() that a new stream has arrived
synchronized(myDataSync){
dataReceived=true;
myDataSync.notifyAll();
}catch(Exception ex){
System.out.println(" --X NewReceiveStream Exception: "+ex.getMessage());
return;
}else if(rse instanceof ByeEvent){
System.out.println(" - BYE packet received from "+participant.getCNAME());
MyPlayList mpls=find(stream);
if(player!=mpls){
mpls.close();
currentParticipant.removeElement(mpls);
if(mgr!=null){
mgr.removeReceiveStreamListener(this);
mgr.removeTargets(" Closing session..");
mgr.dispose();
mgr=null;
}else if(rse instanceof StreamMappedEvent){
if(stream!=null && stream.getDataSource()!=null){
DataSource myds=stream.getDataSource();
RTPControl rtpctrl=(RTPControl)myds.getControl("javax.media.rtp.RTPControl");
System.out.println(" -> The previously unidentified stream ");
if(rtpctrl!=null)
System.out.println(" "+rtpctrl.getFormat());
System.out.println(" has been identified as sent by :"+participant.getCNAME());
* Session Listener
public void update(SessionEvent sesevt)
if(sesevt instanceof NewParticipantEvent){
Participant part=((NewParticipantEvent)sesevt).getParticipant();
System.out.println(" -> A new partcipant has joined :"+part.getCNAME());
* ControllerListener for Players
public synchronized void controllerUpdate(ControllerEvent ce)
Player p=(Player)ce.getSource();
if(p==null)
return;
if(ce instanceof RealizeCompleteEvent){
MyPlayList mpls=find(p);
if(mpls!=null){
p.start();
if(p.getVisualComponent()!=null){
panel.add(player.getVisualComponent());
panel.validate();
if(ce instanceof ControllerErrorEvent){
p.removeControllerListener(this);
MyPlayList mpls=find(p);
if(mpls!=null){
// Close the player
// Remove the player helper class object from the list
p.close();
currentParticipant.removeElement(mpls);
System.out.println("Receiver internal error: "+ce);
class SessionLabel{
public String addr=null;
public int port;
public int ttl;
SessionLabel(String session) throws IllegalArgumentException
int off;
String portStr=null;
String ttlStr=null;
if(session!=null && session.length() >0){
while(session.length()>1 && session.charAt(0)=='/')
session=session.substring(1);
off=session.indexOf('/');
if(off==-1){
if(!session.equals(""))
addr=session;
}else{
addr=session.substring(0,off);
session=session.substring(off+1);
off=session.indexOf('/');
if(off==-1){
if(!session.equals(""))
portStr=session;
}else{
portStr=session.substring(0,off);
session=session.substring(off+1);
off=session.indexOf('/');
if(off==-1){
if(!session.equals(""))
ttlStr=session;
}else{
ttlStr=session.substring(0,off);
if(addr==null)
throw new IllegalArgumentException();
if(portStr!=null)
try{
Integer ints=Integer.valueOf(portStr);
if(ints!=null)
port=ints.intValue();
}catch(Throwable t){
System.out.println(" --X PortStr Error..");
throw new IllegalArgumentException();
}else
throw new IllegalArgumentException();
if(ttlStr!=null){
try{
Integer intsttl=Integer.valueOf(ttlStr);
if(intsttl!=null)
ttl=intsttl.intValue();
}catch(Throwable t){
System.out.println(" --X PortStr Error..");
throw new IllegalArgumentException();
class MyPlayList{
Player clientPlay;
ReceiveStream stream;
MyPlayList(Player p,ReceiveStream rs){
clientPlay=p;
stream=rs;
public void close()
clientPlay.close(); -
Mouselistner is not working with jtable in the browser
Hi
I am having a problem with jTable.
I added a mouselistener to table header to sort table but when i run that applet from my netbean ide it works fine but when i run that applet in my browser it doesn't work, i have tested, its not even generate mouseclick event .Please help me guys.
I call this function after calling initComponents() method of JApplet.
public void setTableAction()
//set mouselistener to sort table on click of table header
final JTableHeader head= jTable1.getTableHeader();
head.addMouseListener(new java.awt.event.MouseAdapter()
public void mouseClicked(java.awt.event.MouseEvent evt)
Vector data= ((DefaultTableModel)jTable1.getModel ()).getDataVector();
sortTable(data, head.columnAtPoint(evt.getPoint()));
//set action map to change the default action performed for enter key pressed
InputMap imap = jTable1.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
KeyStroke enterKey = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
KeyStroke tabKey = KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0);
final Action oldAction= jTable1.getActionMap().get(imap.get(tabKey)); // get map to set enter key.
imap.put(enterKey, "enter"); // set enter key
Action newAction = new AbstractAction(){
public void actionPerformed(ActionEvent e) {
oldAction.actionPerformed(e);
JTable table= (JTable)e.getSource();
table.changeSelection(0,0,false,false);
if(table.isCellEditable(0,0))
String sTemp= (String)table.getValueAt(0,0);
if(sTemp.length()>0) {
if(bRenewItem)
retrieveRcodeDetails("",sTemp);
else
processRCodeDetails(sTemp, e);
}else
table.editCellAt(0,0);
jTable1.getActionMap().put("enter", newAction);
jTable1.setPreferredScrollableViewportSize(jTable1.getPreferredSize());
}Hi,
I also am using the Bépo layout with an encrypted drive and encountered the same problem: the Return key does not work.
It seems to work fine if you use the fr-bepo-latin9 keymap.
# /etc/vconsole.conf
KEYMAP=fr-bepo-latin9
But I also looked at the files /usr/share/kbd/keymaps/i386/bepo/fr-bepo.map.gz and /usr/share/kbd/keymaps/i386/bepo/fr-bepo-latin9.map.gz (you can open gzipped files in vim directly). fr-bepo-latin9.map.gz defines keycode 28 (Return) but fr-bepo.map.gz does not.
I modified fr-bepo.map.gz:
# vim /usr/share/kbd/keymaps/i386/bepo/fr-bepo.map.gz # Append that line : "keycode 28 = Return".
# mkinitcpio -p linux # Rebuild the initramfs.
The Return key now works, but the Backspace (14, "Delete") and Shift (54) keys don’t work. I found that both the cf.map.gz (french canadian layout) and fr-bepo-latin9.map.gz files define those keycodes as well as other non-printing keys so I copied the following lines from fr-bepo-latin9.map.gz to fr-bepo.map.gz:
keycode 1 = Escape Escape
keycode 14 = Delete Delete
keycode 15 = Tab Tab
keycode 28 = Return
keycode 29 = Control
keycode 42 = Shift
keycode 54 = Shift
keycode 56 = Alt
keycode 58 = Caps_Lock
keycode 97 = Control
It works! Don’t forget to rebuild the initramfs after you change the keymap file.
# mkinitcpio -p linux
I will send a message to the kbd and bépo projects mailing lists and report back. -
Why table getWidth and setWidth is not working when resize column the table
hi all,
i want to know why the setWidth is not working in the following code,
try to uncomment the code in columnMarginChanged method and run it wont resize the table.
i cont set width(using setWidth) of the other table column using getWidth of the main table column.
and i want to resize the right side columns only (you can check when you resize the any column the left and right side columns also resizing)
any suggestions could be helpful.
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.TableColumnModelEvent;
import javax.swing.event.TableColumnModelListener;
import javax.swing.table.TableColumnModel;
public class SynTableResize extends JFrame implements TableColumnModelListener, ActionListener
JTable table1 = new JTable(5, 5);
JTable table2 = new JTable(5, 5);
JTable table3 = new JTable(5, 5);
JButton btn = new JButton("refresh");
JPanel pnlcontainer = new JPanel();
public SynTableResize()
setLayout(new BorderLayout());
pnlcontainer.setLayout(new BoxLayout(pnlcontainer, BoxLayout.Y_AXIS));
pnlcontainer.add(table1.getTableHeader());
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(table2);
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(table3);
table2.setTableHeader(null);
table3.setTableHeader(null);
table1.getColumnModel().addColumnModelListener(this);
table3.setColumnModel(table1.getColumnModel());
table2.setColumnModel(table1.getColumnModel());
table2.getColumnModel().addColumnModelListener(table1);
table3.getColumnModel().addColumnModelListener(table1);
btn.addActionListener(this);
getContentPane().add(pnlcontainer, BorderLayout.CENTER);
getContentPane().add(btn, BorderLayout.SOUTH);
setSize(new Dimension(400, 400));
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
public static void main(String[] args)
new SynTableResize();
public void columnAdded(TableColumnModelEvent e)
public void columnMarginChanged(ChangeEvent e)
TableColumnModel tcm = table1.getColumnModel();
int columns = tcm.getColumnCount();
for (int i = 0; i < columns; i++)
table2.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getWidth());
table3.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getWidth());
// the following commented code wont work.
// table2.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getPreferredWidth());
// table3.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getPreferredWidth());
// table2.getColumnModel().getColumn(i).setWidth(tcm.getColumn(i).getWidth());
// table3.getColumnModel().getColumn(i).setWidth(tcm.getColumn(i).getWidth());
SwingUtilities.invokeLater(new Runnable()
public void run()
table2.revalidate();
table3.revalidate();
public void columnMoved(TableColumnModelEvent e)
public void columnRemoved(TableColumnModelEvent e)
public void columnSelectionChanged(ListSelectionEvent e)
public void actionPerformed(ActionEvent e)
JTable table = new JTable(5, 5);
table.setColumnModel(table1.getColumnModel());
table.getColumnModel().addColumnModelListener(table1);
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(table);
pnlcontainer.validate();
pnlcontainer.repaint();
}thanks
dayananda b vhi,
thanks for your replay,
yes i know that, you can check the following code it works fine.
actually what i want is, when i resize table column it shold not automaticaly reszie when table resized and i dont want horizontal scroll bar, meaning that all table columns should resize with in the table size(say width 300)
if i make table autoresize off than horizontal scroll bar will appear and the other columns moved and i want scroll to view other columns.
please suggest me some way doing it, i tried with doLayout() no help,
doLayout() method only can be used when table resizes. first off all i want to restrict table resizing with in the limited size
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.ChangeEvent;
import javax.swing.table.TableColumnModel;
public class TempSycnTable extends JFrame
JTable table1 = new JTable(5, 5);
MyTable table2 = new MyTable(5, 5);
MyTable table3 = new MyTable(5, 5);
JPanel pnlcontainer = new JPanel();
public TempSycnTable()
JScrollPane src2 = new JScrollPane(table2);
JScrollPane src3 = new JScrollPane(table3);
// table1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// table2.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// table3.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// src2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
// src3.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
table2.setTableHeader(null);
table3.setTableHeader(null);
table3.setColumnModel(table1.getColumnModel());
table2.setColumnModel(table1.getColumnModel());
table2.getColumnModel().addColumnModelListener(table1);
table3.getColumnModel().addColumnModelListener(table1);
table2.setTableHeader(null);
table3.setTableHeader(null);
setLayout(new BorderLayout());
pnlcontainer.setLayout(new BoxLayout(pnlcontainer, BoxLayout.Y_AXIS));
pnlcontainer.add(table1.getTableHeader());
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(src2);
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(src3);
getContentPane().add(pnlcontainer, BorderLayout.CENTER);
setSize(new Dimension(300, 300));
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
public static void main(String[] args)
new TempSycnTable();
class MyTable extends JTable
public MyTable()
super();
public MyTable(int numRows, int numColumns)
super(numRows, numColumns);
public void columnMarginChanged(ChangeEvent event)
final TableColumnModel eventModel = table1.getColumnModel();
final TableColumnModel thisModel = getColumnModel();
final int columnCount = eventModel.getColumnCount();
for (int i = 0; i < columnCount; i++)
thisModel.getColumn(i).setWidth(eventModel.getColumn(i).getWidth());
repaint();
}thanks
daya -
Writing to file not working, might be 1.4 problem
Hi:
I am trying to writing the content of a JTextArea onto a file. The content is pretty big, has newlines. I have been struggling with this in 1.4 and it just doesn't write to the file I specified. In 1.3, it works great. Here is the rough code:
public void loadDisplayFrame()
JMenuItem save = new JMenuItem("Save");
//Save Action Listener
save.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
String filePath;
//Save the gsgl sample file
if(filePath!=null && filePath.length()>0)
try
int state = saveChooser.showSaveDialog(null);
File f;
f = saveChooser.getSelectedFile();
if(f!=null && state==JFileChooser.APPROVE_OPTION)
savedName = f.getPath();
if(!savedName.endsWith(".gsgl"))
JOptionPane.showMessageDialog(null, "Invalid file name", "error", JOptionPane.ERROR_MESSAGE);
}else
processSaving();
}catch(Exception e)
e.printStackTrace();
}else
JOptionPane.showMessageDialog(null, "Please load a file first", "error",
JOptionPane.ERROR_MESSAGE);
myMenu.add(save);
JMenuBar displayMenu = new JMenuBar();
displayMenu.add(myMenu);
public void processSaving()
try
System.out.println("Saved Name is " + savedName);
PrintWriter out
= new PrintWriter(new BufferedWriter(new FileWriter(savedName)));
//name of TextArea is <display>
String saveCode = display.getText();
System.out.println(saveCode);
out.print(saveCode);
out.close();
}catch(Exception e)
System.out.println("Exception in writing" + e.toString());
Anyone knows what is going on? I am hoping to use 1.4 for my project. But this thing is not working. Any way around it? ThanxTry putting in this line before your close:
out.flush();
PrintWriter buffers the data and won't send it until you exit or enough data gets into the buffer to cause a flush. I assume that you are getting a zero byte file. You can also construct a PrintWriter with a boolean to indicate if it should auto flush the buffer.
Hope that it helps.
Paul -
Applet is not working and I do not know why it is not working
I cannot figure out why my applet is not working. Can someone assist me with this problem?
Here is the code:
As you will soon find out some of those imports can be ignored.
import java.lang.Integer;
import java.awt.*;
import java.awt.event.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.*;
import java.awt.Graphics.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.text.*;
import javax.swing.event.*;
import java.awt.event.*;
import javax.swing.JApplet.*;
import javax.swing.JFrame.*;
import java.applet.Applet;
import javax.swing.border.*;
import javax.swing.Spring.*;
import java.awt.geom.AffineTransform;
import java.awt.Graphics2D;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;
import java.math.*;
public class Test extends JApplet{
JFormattedTextField Relfield;
JFormattedTextField Relfield2;
JFormattedTextField Relfield3;
GridLayout layout = new GridLayout();
public void init() {
Double d = 0.0;
Double e = 0.0;
Relfield2 = new JFormattedTextField();
Relfield3 = new JFormattedTextField();
Relfield = new JFormattedTextField();
Relfield.setText(d + "");
Relfield2.setText(e + "");
TextFieldHandler handlers = new TextFieldHandler();
Relfield.addPropertyChangeListener(handlers);
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
button1.addActionListener(new T5C());
button2.addActionListener(new T6C());
Container c = getContentPane();
c.setLayout(layout);
c.add(Relfield);
c.add(Relfield2);
c.add(button1);
c.add(button2);
class T5C implements ActionListener
public void actionPerformed(ActionEvent e) {
Double b = (Double)(Double.parseDouble(Relfield.getText())) + 1;
Relfield.setValue(b + "");
Relfield2.setValue(b + "");
class T6C implements ActionListener
public void actionPerformed(ActionEvent e) {
Double b = (Double)(Double.parseDouble(Relfield.getText())) - 1;
Relfield.setValue(b + "");
Relfield2.setValue(b + "");
public class TextFieldHandler implements PropertyChangeListener {
public void propertyChange(PropertyChangeEvent e) {
Object source = e.getSource();
if (source == Relfield) {
Double Rel = ((Double)Relfield.getValue()).doubleValue();
Relfield.setValue(Rel);
Relfield2.setValue(Rel);
//BigDecimal myu = new BigDecimal("Relfield.getValue()");
public static void main( String[] argv ) {
JFrame frame = new JFrame( "General Shear Mode Damper Design" );
frame.addWindowListener( new WindowAdapter(){
public void windowClosing( WindowEvent e ){
System.exit( 0 );
JApplet applet = new Test();
frame.getContentPane().add(applet);
applet.init();
frame.setSize( 1020, 720);
frame.setVisible(true);
}The applet is not running at all and I can't figure out the error messages.
The error messages are below:
C:\Users\zite.1\Desktop>javac Test.java
C:\Users\zite.1\Desktop>java Test
Exception in thread "main" java.lang.NullPointerException
at Test$TextFieldHandler.propertyChange(Test.java:89)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.awt.Component.firePropertyChange(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at javax.swing.JRootPane.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at java.awt.Panel.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at javax.swing.JComponent.addNotify(Unknown Source)
at javax.swing.JRootPane.addNotify(Unknown Source)
at java.awt.Container.addNotify(Unknown Source)
at java.awt.Window.addNotify(Unknown Source)
at java.awt.Frame.addNotify(Unknown Source)
at java.awt.Window.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at Test.main(Test.java:112) -
# key not working in linux
Hi
I have been using jbuilder5 in windows and have created an application. It works fine in windows but when i move to linux(SuSe v7.3) the # key does not work. Even in jbuilder the # key does not work.
It is not the keyboard settings as in other non java applications the # key works. I am using the jdk 1.3 and I am using swing to get the text.
Has anyone heard of this problem and do you know how to overcome this.
Thanksthere used to be a bug in JTable - some characters did not work, the most popular being the lower capital "q"; "#" is also part of the game.
check out the following bug in the bug parade which also contains a workaround. I am not sure if it applies to the java version you are using, but you can give it a try.
http://developer.java.sun.com/developer/bugParade/bugs/4233223.html
For those of us who can't wait for "Kestrel" here is a workaround...
public class KeyedTable extends JTable {
public KeyedTable() {
patchKeyboardActions();
* Other constructors as necessary
private void registerKeyboardAction(KeyStroke ks, char ch) {
registerKeyboardAction(new KeyboardAction(ks, ch),
ks,
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
private void registerKeyboardAction(char ch) {
KeyStroke ks = KeyStroke.getKeyStroke(ch);
registerKeyboardAction(new KeyboardAction(ks, ch),
ks,
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
private void patchKeyboardActions() {
registerKeyboardAction(KeyStroke.getKeyStroke("Q"), 'q');
registerKeyboardAction('"');
registerKeyboardAction('(');
registerKeyboardAction('$');
registerKeyboardAction('!');
registerKeyboardAction('%');
registerKeyboardAction('&');
registerKeyboardAction('#');
registerKeyboardAction('\'');
private class KeyboardAction implements ActionListener {
char ch;
KeyStroke ks;
public KeyboardAction(KeyStroke ks, char ch) {
this.ks = ks;
this.ch = ch;
public void actionPerformed(ActionEvent e) {
Component editorComp = getEditorComponent();
if (isEditing() &&
editorComp != null &&
editorComp.isVisible() &&
SwingUtilities.findFocusOwner(KeyedTable.this) == editorComp)
return;
int anchorRow = getSelectionModel().getAnchorSelectionIndex();
int anchorColumn =
getColumnModel().getSelectionModel().getAnchorSelectionIndex();
if (anchorRow != -1 && anchorColumn != -1 &&
!isEditing()) {
if (!editCellAt(anchorRow, anchorColumn)) {
return;
else {
editorComp = getEditorComponent();
if (isEditing() && editorComp != null) {
if (editorComp instanceof JTextField) {
JTextField textField = (JTextField)editorComp;
Keymap keyMap = textField.getKeymap();
Action action = keyMap.getAction(ks);
if (action == null) {
action = keyMap.getDefaultAction();
if (action != null) {
ActionEvent ae = new ActionEvent(textField,
ActionEvent.ACTION_PERFORMED,
String.valueOf(ch));
action.actionPerformed(ae);
} -
Why id this not working? Please Help...
This part in my action performed is not working. the buttons on my second form is not responding at all!!! Please help ...
public void actionPerformed(ActionEvent ae)
if(ae.getSource() == itmAddD)
frmAddDriver.setVisible(true);
String name;
String surname;
String work;
int age = 0;
if(ae.getSource() == btnAddAD)
if(!((txtAgeAD.getText().equals("")) && (txtSurnameAD.getText().equals("")) && (txtNameAD.getText().equals(""))))
name = txtNameAD.getText();
surname = txtSurnameAD.getText();
try
age = Integer.parseInt(txtAgeAD.getText());
addDriver.add(new MyDriver(name, surname, age, cboWorkAD.getSelectedItem()));
cboDriver.addItem(name);
for(int i = 0; i < addDriver.size(); i++)
System.out.println(addDriver.elementAt(i));
catch(NumberFormatException err)
JOptionPane.showMessageDialog(frmMyGUI, "Age should be numeric","Error", JOptionPane.ERROR_MESSAGE);
else if(ae.getSource() == btnCancelAD)
frmMyGUI.dispose();You're a crazy maniac. The reason none of your buttons (bar one) are working is because you nested all the if statements....
if(ae.getSource() == itmAddD)
if(ae.getSource() == btnAddAD)
// how is this ever going to be true?Un-nest them.
Cheers,
Radish21 -
Hi,
I am Meena.
I am doing a project using NetBeans and MS-Access.
When I run my project a internal framed named login loaded on the jdesktoppane which in JFrame.
So in the login internal frame i used two buttons one for Sign-in and another for sign out.
So I combined the Sign-in button with Enter key and Sign-out button with Escape key by the following coding.
I wrote the following coding in LoginInternalFrame->properties->enabled->advanced->Generate PreIntialization Code.
Action EscFromLogin=new AbstractAction()
public void actionPerformed(ActionEvent e)
jButton2.doClick();
Action OkFromLogin=new AbstractAction()
public void actionPerformed(ActionEvent e)
jButton1.doClick();
getRootPane().getInputMap(jButton2.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0,false),"Esc_in_Login");
getRootPane().getActionMap().put("Esc_in_Login",EscFromLogin);
getRootPane().getInputMap(jButton1.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0,false),"Ok_in_Login");
getRootPane().getActionMap().put("Ok_in_Login",OkFromLogin);In the above coding Enter key works well no problem.that is when I press the Enter key ,it combined with Sign-in button and works well.
But when I press Escape key,it doesnot combined with Sign-off button.
that is nothing is happening when I press Esc key.
So i change the Escape key and test with F1 then F2 then F3 all are combined with Sign-off button and works well.But only the escape key is not working.
But I have so many internal frames .In all internalframes my esc key works well.But not in the first inter frame(login internalframe)
I couldnot understand the reason.
Will you please help me to solve.
Thank you so much.
Meenammm, i'm doing some tests and the case is working for me... The reason F1,F2 keys works while ESC don't is that some component is "eating" the ESC key. Probably your password textField, but it is not its default behaviour. For example, try to replace the textField with a FormattedTextField, write something into it and press ESC, this first ESC is consumed by the FormattedTextField, if you press ESC a second time the FormattedTextField not consume it, so the ESC keystroke processing is given to the rest of the componentes until one of they consume it (basically). So, how can you solve th problem? Try to determine which component is the "escape-eater". Once you detected it try to determine which properties are set and if this properties can alter the keyboard mapping. The problem can be difficult to repeat for us because the look and feel, java version, etc. can affect the system behaviour too. A global hook to ESC can also be the reason (maybe esc key it's not reaching ths components), try to override ProcessKeyBindings and log the results....
-
{@inheritDoc} not working for Java Classes
Hello,
i am using {@inheritDoc} for inherting super class's JavaDoc for a perticular function..
It is working, if super class is my own class. i am able to see all JavaDoc in child class.
But when i use {@inheritDoc} for extending JavaDoc of java class it is not working.
i.e. if i am writing {@inheritDoc} in public void actionPerformed(ActionEvent e) method..
It wont show any javadoc..
How to add it? Do i need to give source of java classes too???
And if it is Yes, then where to specifiy. and where to find source of Java classes, do they come with JDK? or NetBeans?? (If yes then where it is in JDK or Netbeans???)
Thanks,
Nachiket.Yes, you need to have the Java source, with the -sourcepath option, as described here:
Inheriting Comments from J2SE - Your code can also automatically inherit comments from interfaces and classes in the J2SE. You can do this by unzipping the src.zip file that ships with the SDK (it does not contain all source files, however), and add its path to -sourcepath. When javadoc runs on your code, it will load the doc comments from those source files as needed. For example, if a class in your code implements java.lang.Comparable, the compareTo(Object) method you implement will inherit the doc comment from java.lang.Comparable.
http://java.sun.com/j2se/javadoc/faq/#incrementalbuild
If you want the full Java source get it from here:
http://www.sun.com/software/communitysource/j2se/java2/index.xml
http://java.sun.com/j2se/javadoc/faq/#sourcecode
-Doug -
Serialization not working in one way
I tried to serialize a String object from and to an applet. The servlet to applet communication is working properly. But applet to servlet serialization is not working, but no exceptions are thrown. Please help me. Thank you very much.(I have given the complete source code bellow)
=================================
APPLET SOURCE CODE
=================================
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class TestApplet extends Applet {
Button send = new Button();
Button receive = new Button();
TextArea textarea = new TextArea();
BorderLayout borderLayout1 = new BorderLayout();
public void init() {
send.setLabel("send");
send.addActionListener(new Send_Listener());
receive.setLabel("receive");
receive.addActionListener(new Receive_Listener());
this.setLayout(borderLayout1);
this.add(send, BorderLayout.NORTH);
this.add(textarea, BorderLayout.CENTER);
this.add(receive, BorderLayout.SOUTH);
void sendObject(){
try{
URL url = new URL(getCodeBase(), "/servlets/testservlet");
URLConnection servletConnection = url.openConnection();
servletConnection.setDoInput(true);
servletConnection.setDoOutput(true);
servletConnection.setUseCaches (false);
servletConnection.setDefaultUseCaches (false);
servletConnection.setRequestProperty ("Content-Type", "application/octet-stream");
ObjectOutputStream outputToServlet = new ObjectOutputStream(servletConnection.getOutputStream());
outputToServlet.writeObject("some string here");
outputToServlet.flush();
outputToServlet.close();
textarea.append("aplet has send the object to the servlet\n");
}catch(Exception e){
textarea.append("EXCEPTION THROWN IN THE APPLET IN SENDOBJECT\n");
void getObject(){
try{
URL url =new URL(getCodeBase(), "/servlets/testservlet");
URLConnection servletConnection = url.openConnection();
servletConnection.setUseCaches (false);
servletConnection.setDefaultUseCaches(false);
ObjectInputStream inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
String aString=(String)inputFromServlet.readObject();
textarea.append(aString+"\n");
textarea.append("aplet has received the object from the servlet\n");
}catch(Exception e){
textarea.setText("EXCEPTION THROWN IN THE APPLET IN GETOBJECT\n");
class Send_Listener implements ActionListener{
public void actionPerformed(java.awt.event.ActionEvent e){
sendObject();
class Receive_Listener implements ActionListener{
public void actionPerformed(java.awt.event.ActionEvent e){
getObject();
===================================
SERVLET SOURCE CODE
===================================
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class TestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try
ObjectOutputStream outputToApplet = new ObjectOutputStream(response.getOutputStream());
String aString= (String) request.getSession().getAttribute("ID");
outputToApplet.writeObject("this is the string object: "+aString);
outputToApplet.flush();
outputToApplet.close();
System.out.println("object send to applet:"+aString+"\n");
catch (IOException e)
System.out.println("EXCEPTION IN DOGET\n");
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
ObjectInputStream inputFromApplet = new ObjectInputStream(request.getInputStream());
String aString = (String) inputFromApplet.readObject();
request.getSession().setAttribute("ID", aString);
inputFromApplet.close();
System.out.println("object received from applet:"+aString+"\n");
catch(Exception e)
System.out.println("EXCEPTION IN DOPOST\n");There are some things in Java which can't be serialized. When contained within a higher-level class such as Buttons. A button can be associated with an Action Listener. Now, you can serialize a button; however you can't serialize an action listener - for what should be to you obvious reasons. This is NOT an error and so there is no need to throw an exception when serializing the button.
Basically: Applet sends servlet button, but not listener.
Maybe you are looking for
-
While configuring the Smartform for Dunning F150_DUNN_SF it says that it is does not active nor exists. Then added this function module FI_PRINT_DUNNING_NOTICE_SMARTF using the transaction code BF31. Suggested by SAP Note. When dunning transaction
-
Thunderbird crashes when importing high amount of Outlook Express .dbx files.
Greetings ! I'm trying to make a migration from Outlook Express to Thunderbird for a professional. His mail folder is made of around 1400 .dbx files (18GB of mails -woh-). Every time I'm trying to do the importation, Thunderbird crashes. I think I sh
-
I have the code to read from a file but my problem is how to prompt the user for the file name at run time. import java.io.File; import java.io.FileNotFoundException; import java.util.InputMismatchException; import java.util.Scanner; public class Fil
-
How to recover after a win 8.1 upgrade goes wrong.
7 days ago i bought a Pavillion laptop and yesterday I upgraded to windows 8.1, after 5 hours it finally said to restart, however now I cannot get past the login screen, after entering my pin the screen goes blank with the status bar and pointer fl
-
Poor image quality when displaying OLE Word doc stored in BLOB
Hello, I am migrating some CR Reports from VB6 to VB.NET 2008. The reports retrieves Word documents that is stored in BLOB column on SQL Server 2005. If CR.NET (same behaviour with 2005 and 2008 versions) renders the word document, the quality is rea