Vector, what is the problem with this code?
Vector, what is the problem with this code?
63 private java.util.Vector data=new Vector();
64 Vector aaaaa=new Vector();
65 data.addElement(aaaaa);
74 aaaaa.addElement(new String("Mary"));on compiling this code, the error is
TableDemo.java:65: <identifier> expected
data.addElement(aaaaa);
^
TableDemo.java:74: <identifier> expected
aaaaa.addElement(new String("Mary"));
^
TableDemo.java:65: package data does not exist
data.addElement(aaaaa);
^
TableDemo.java:74: package aaaaa does not exist
aaaaa.addElement(new String("Mary"));Friends i really got fed up with this code for more than half an hour.could anybody spot the problem?
I can see many:
1. i assume your code snip is inside a method. a local variable can not be declare private.
2. if you didn't import java.util.* on top then you need to prefix package on All occurance of Vector.
3. String in java are constant and has literal syntax. "Mary" is sufficient in most of the time, unless you purposly want to call new String("Mary") on purpose. Read java.lang.String javadoc.
Here is a sample that would compile...:
public class QuickMain {
public static void main(String[] args) {
java.util.Vector data=new java.util.Vector();
java.util.Vector aaaaa=new java.util.Vector();
data.addElement(aaaaa);
aaaaa.addElement(new String("Mary"));
}
Similar Messages
-
Please tell me what is the problem with this code
Hai,
Iam new to Swings. can any one tell what is the problem with this code. I cant see those controls on the frame. please give me the suggestions.
I got the frame ,but the controls are not.
this is the code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ex2 extends JFrame
JButton b1;
JLabel l1,l2;
JPanel p1,p2;
JTextField tf1;
JPasswordField tf2;
public ex2()
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Another example");
setSize(500,500);
setVisible(true);
b1=new JButton(" ok ");
p1=new JPanel();
p1.setLayout(new GridLayout(2,2));
p2=new JPanel();
p2.setLayout(new BorderLayout());
l1=new JLabel("Name :");
l2=new JLabel("Password:");
tf1=new JTextField(15);
tf2=new JPasswordField(15);
Container con=getContentPane();
con.add(p1);
con.add(p2);
public static void createAndShowGUI()
ex2.setDefaultLookAndFeelDecorated(true);
public static void main(String ar[])
createAndShowGUI();
new ex2();
}import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ex2 extends JFrame
JButton b1;
JLabel l1,l2;
JPanel p1,p2;
JTextField tf1;
JPasswordField tf2;
public ex2()
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Another example");
b1=new JButton(" ok ");
p1=new JPanel();
p1.add(b1);
p2=new JPanel();
p2.setLayout(new GridLayout(2,2));
l1=new JLabel("Name :");
l2=new JLabel("Password:");
tf1=new JTextField(15);
tf2=new JPasswordField(15);
p2.add(l1);
p2.add(tf1);
p2.add(l2);
p2.add(tf2);
Container con=getContentPane();
con.add(p1, BorderLayout.NORTH);
con.add(p2, BorderLayout.CENTER);
pack();
setVisible(true);
public static void createAndShowGUI()
ex2.setDefaultLookAndFeelDecorated(true);
public static void main(String ar[])
createAndShowGUI();
new ex2();
} -
What is the problem with this code ? Race condition??
Guys,
The idea behind the attached code is quite simple.
I have a 2D parent array. First, I print a subset of this array into a table control (based on a sensor selection). Now, I want edit the numbers in the table. I need the changes to be reflected in the table and the parent 2D array. (In simple terms, this is like replacing the the edited array subset into the parent 2D array)
The problem is when I change(edit) any entry in the table, the entry changes back to its original value. The change doesnt seem to be reflecting on the parent 2D array and the table. .
Can anyone tell me where the problem is?
Thanks
Ravi
Solved!
Go to Solution.
Attachments:
Alarm threshold test.vi 14 KBI agree with Chris, here's an idea (of whatI think your code does):
The case structure in your code was unnecessary, all the cases were the same so I removed them.
The sequence structure was unnecessary.
Ton
Message Edited by TonP on 11-20-2008 07:52 PM
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas
LabVIEW, programming like it should be!
Attachments:
Alarm threshold test_BD.png 19 KB -
What is the problem with this code?
dear sirs...
i have a page that does not contain any binding, it contains the following event:
public void onCheck(DataActionContext ctx)
ViewObject V=ctx.getBindingContext.findDataControl("AppModuleDataControl").getApplicationModule.findViewObject("empview1");
V.setWhereClause("");
V.executeQuery();
V.first();
note that the above code works if the table emp is on the page, however, if the page is not bound to the page (it does not contains the table) the statement in the bold will fire an exception saying that there is no binding. i am sure the V is not set to null.
another problem appears, if i put the table and execute it within jdeveloper, it works correctly, however, if i run if i deploy the application into application server, the code never runs as if there is some kind of an error.
i hope that you can anser me about the following;
1- if the code above correct?
2- how can i view the log for the application?
3- System.out.println("test"); in jdeveloper works okay, in the application server, does it cause some kind of an error?
thanks for any help & best regardsIf you don't close the ResultSet, different things happen based on which database you're running. You can keep read locks that you don't need. It wastes resources, and as different databases react differently to it, you might have weird bugs down the road that result from your practices of not properly closing ResultSets, PreparedStatements, and Connections. Put this in a loop like you've got here, and the effects may or may not get amplified.
I write a close() for a ResultSet just as soon as I open it, just to make sure I don't forget. In a situation like this one, I would write something like so:
for(int i = 0;i<someValue;i++)
try
//some code
rs = pstmt.executeQuery();
//some code that uses rs
catch(Exception e)
finally
if (rs != null)
rs.close();
if (pstmt != null)
pstmt.close();
} -
DECLARE
v_group_grade RECORDGROUP;
v_pop_group NUMBER;
BEGIN
v_group_grade := find_group('group_grade');
IF NOT id_null(v_group_grade) THEN
delete_group(v_group_grade);
END IF;
IF :CONTROL_LISTS.STAGE = 1 THEN
v_group_grade := create_group_from_query('group_grade', 'SELECT grade_name FROM grade WHERE grade_name LIKE ''KG%''');
v_pop_group := populate_group(v_group_grade);
populate_list('CONTROL_LISTS.GRADE', v_group_grade);
ELSIF :CONTROL_LISTS.STAGE = 2 THEN
v_group_grade := create_group_from_query('group_grade', 'SELECT grade_name FROM grade WHERE grade_name LIKE ''Prim%''');
v_pop_group := populate_group(v_group_grade);
populate_list('CONTROL_LISTS.GRADE', v_group_grade);
ELSIF:CONTROL_LISTS.STAGE = 3 THEN
v_group_grade := create_group_from_query('group_grade', 'SELECT grade_name FROM grade WHERE grade_name LIKE ''Prep%''');
v_pop_group := populate_group(v_group_grade);
populate_list('CONTROL_LISTS.GRADE', v_group_grade);
ELSE
NULL;
END IF;
END;
when I change the selection of the STAGE list in the runtime this error apear:
FRM-41334 invalid record group for list population.Thanks Faheem,
I got it it was in the select statement.
When I create poplist to fetch data from the database I should select at least two charachter columns. -
What's the problem in this code
import java.lang.reflect.*;
import java.awt.*;
class ABC
public Integer i;
ABC()
public void setInt(Integer t)
i = t;
public class SampleName {
public static void main(String[] args)
ABC g1 = new ABC();
g1.setInt(new Integer(10));
printFieldNames(g1);
static void printFieldNames(Object o) {
Class c = o.getClass();
Field[] publicFields = c.getDeclaredFields();
for (int i = 0; i < publicFields.length; i++)
try {
Object ref = publicFields.get(c);
System.out.println(" ref.toString() : " + ref.toString());
}catch(Exception e)
e.printStackTrace();
What is the problem with this code,at run time Iam getting this exception
java.lang.IllegalArgumentException: object is not an instance of declaring class
How can we get the value of field of an objectNow it got this exception
java.lang.IllegalAccessException
at java.lang.reflect.Field.get(Native Method)That's strange - I didn't! ;-)
Are you running exactly the same code as the code you posted (except for the one line I said to change)? -
HELLO
I was playing candy crush and I had too much problem with my bill your charge too much I want to know what is the problem with this game costTake it up with iTunes Support - we are not Apple here, we are just users like you:
http://www.apple.com/support/itunes/ww/
Cheers,
GB -
What is the problem with this Stored Procedure
Hi ,
What is the problem with this Stored Procedure ?Why is it giving errors ??
CREATE or replace PROCEDURE getEmpName
*(EMP_FIRST OUT VARCHAR2(255))*
BEGIN
SELECT ename INTO EMP_FIRST
FROM Emp
WHERE EMPNO = 7369;
END ;
*/*You don't specify precision in procedure arguments.
(EMP_FIRST OUT VARCHAR2(255))should be
(EMP_FIRST OUT VARCHAR2)Since you asked what's wrong with it, I could add that it needs formatting and the inconsistent use of upper and lower case is not helping readability. -
Can anybody tell me the problem with this code when compiled in jdk1.4
Can anybody help me find out the error in this code.
Try to drag a file from your desktop and drop it on the first textpane on my GUI. Then try to drag another file. This time the dragdrop event handler throws a null pointer exception. This happened when I compiled the code with jdk1.4. With jdk1.3 it is working fine. Actually, I need jdk1.4 to get the systemicons for the files I drop on my desktop.
/* Client.java*/
import java.util.Vector;
import java.util.Enumeration;
import java.util.Arrays;
import java.awt.*;
import java.awt.event.*;
import java.rmi.*;
import java.rmi.server.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.filechooser.*;
import java.io.*;
import java.awt.dnd.*;
import java.awt.datatransfer.*;
import java.util.Iterator;
import javax.swing.plaf.*;
import javax.swing.plaf.basic.*;
import java.util.Hashtable;
import javax.swing.text.*;
import javax.swing.event.*;
public class Client extends JFrame{
static String newline = System.getProperty("line.separator");
static Client client;
//ServerInterface server;
//ClientProperties clp;
Vector v1=new Vector();
ByteArrayOutputStream out;
Runtime r1;
//file objects,together with array of bytes
Hashtable files=new Hashtable(); //files sent
Hashtable rfiles=new Hashtable(); //files received
//file objects,together with button handlers
Hashtable hfiles=new Hashtable(); //files sent,files received
JButton button1=new JButton();
JButton button2=new JButton();
JButton button3=new JButton();
JLabel label1=new JLabel();
JLabel label2=new JLabel();
JLabel label3=new JLabel();
JLabel label4=new JLabel();
JLabel label5=new JLabel();
JLabel label6=new JLabel();
JLabel label7=new JLabel();
JLabel label8=new JLabel();
JOptionPane dialog=new JOptionPane();
JFileChooser chooser = new JFileChooser();
JPanel panel1;
JPanel panel2;
DropTarget dtarget;
DragSource dsource;
JTextPane textArea1=new JTextPane();
TextArea textArea2=new TextArea();
JTextPane textpanel=new JTextPane();
Style defstyle,style;
StyledDocument doc,doc1;
JPopupMenu popup;
JTree tree;
JScrollPane jsppane;
JScrollPane jsp,jsp2;
DefaultMutableTreeNode top;
Container cp;
private String toalias;
private String togroup;
private String fromalias;
private String fromgroup;
private boolean CONNECT;
public Client()
cp=getContentPane();
cp.setLayout(null);
setForeground(java.awt.Color.red);
setFont(new Font("Dialog", Font.PLAIN, 14));
setVisible(false);
label1.setText(" CHAT APPLICATION");
cp.add(label1);
label1.setFont(new Font("Dialog", Font.BOLD, 16));
label1.setBounds(72,20,319,30);
label2.setText("List of Users Connected.");
cp.add(label2);
label2.setForeground(java.awt.Color.blue);
label2.setFont(new Font("Dialog", Font.BOLD, 12));
label2.setBounds(24,60,192,26);
label8.setBounds(280,60,100,26);
cp.add(label8);
cp.add(textArea2);
textArea2.setBounds(204,120,268,90);
jsppane=new JScrollPane(textArea1);
doc1=textArea1.getStyledDocument();
jsppane.setBounds(12,264,456,109);
cp.add(jsppane);
label3.setText("TO::");
cp.add(label3);
label3.setFont(new Font("Dialog", Font.BOLD, 12));
label3.setBounds(12,228,36,20);
cp.add(label4);
label4.setBackground(java.awt.Color.lightGray);
label4.setBounds(60,228,172,19);
label5.setText("SERVER RESPONSE");
cp.add(label5);
label5.setFont(new Font("Dialog", Font.BOLD, 12));
label5.setBounds(204,96,204,21);
label7.setText("MESSAGE FOR YOU.");
cp.add(label7);
label7.setFont(new Font("Dialog", Font.BOLD, 14));
label7.setBounds(12,371,288,25);
jsp2=new JScrollPane(textpanel);
setTextPaneStyle();
jsp2.setBounds(12,401,456,109);
cp.add(jsp2);
button1.setLabel("Send");
button1.setEnabled(false);
cp.add(button1);
button1.setBackground(java.awt.Color.lightGray);
button1.setForeground(java.awt.Color.black);
button1.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
button1.setBounds(60,520,78,36);
button2.setLabel("Attach");
//button2.setEnabled(false);
cp.add(button2);
button2.setBackground(java.awt.Color.lightGray);
button2.setForeground(java.awt.Color.black);
button2.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
button2.setBounds(180,520,72,36);
button3.setLabel("Connect");
cp.add(button3);
button3.setBackground(java.awt.Color.lightGray);
button3.setForeground(java.awt.Color.black);
button3.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
button3.setBounds(288,520,72,33);
setSize(500,620);
show();
addWindowListener(new WindowEventHandler());
button1.addActionListener(new ButtonHandler());
button2.addActionListener(new ButtonHandler());
button3.addActionListener(new ButtonHandler());
textArea1.addContainerListener(new ComponentHandler());
dtarget=new DropTarget(textArea1,new DragDropHandler());
textArea2.setEnabled(false);
textpanel.setEnabled(false);
r1=Runtime.getRuntime();
r1.addShutdownHook(new onshutdown());
addMenu();
cp.repaint();
//adds attachments to the textArea1
synchronized private void addAttach(java.util.List fileList)
Iterator iterator=fileList.iterator();
JButton bw;
while(iterator.hasNext())
File file=(File)iterator.next();
Icon icon=chooser.getIcon(file);
bw=new JButton(icon);
bw.setBackground(java.awt.Color.gray);
bw.setToolTipText(file.getAbsolutePath());
bw.addMouseListener(new AttachmentHandler());
Dimension d1=new Dimension(icon.getIconWidth(),icon.getIconHeight());
bw.setMaximumSize(d1);
hfiles.put(bw,file);
textArea1.insertComponent(bw);
textArea1.setCaretPosition(doc1.getLength());
bw.setSize(icon.getIconWidth(),icon.getIconHeight());
//only one file at a time
break;
cp.repaint();
public void setAudioStream(ByteArrayOutputStream out)
this.out=out;
private void addMenu()
JMenuBar mbar=new JMenuBar();
mbar.setVisible(true);
mbar.setBounds(0,0,500,20);
mbar.setBackground(java.awt.Color.gray);
//first menu
JMenu m1=new JMenu("Connection");
m1.setBounds(0,0,80,20);
m1.setBackground(java.awt.Color.gray);
JMenuItem mitem1=new JMenuItem("Connect");
JMenuItem mitem2=new JMenuItem("Disconnect");
m1.add(mitem1);
m1.add(mitem2);
mitem1.addActionListener(new ButtonHandler());
mitem2.addActionListener(new ButtonHandler());
mbar.add(m1);
//second menu
JMenu m2=new JMenu("Send...");
m2.setBounds(90,0,80,20);
m2.setBackground(java.awt.Color.gray);
JMenuItem mitem3=new JMenuItem("Send");
JMenuItem mitem4=new JMenuItem("Send with Audio...");
mitem3.addActionListener(new ButtonHandler());
mitem4.addActionListener(new ButtonHandler());
m2.add(mitem3);
m2.add(mitem4);
mbar.add(m2);
cp.add(mbar);
private void setTextPaneStyle()
StyleContext stylecontext =StyleContext.getDefaultStyleContext();
defstyle=stylecontext.getStyle(StyleContext.DEFAULT_STYLE);
doc= textpanel.getStyledDocument();
//style 1
style= textpanel.addStyle("bold",defstyle);
StyleConstants.setBackground(style,Color.white);
StyleConstants.setForeground(style,Color.blue);
StyleConstants.setItalic(style, false);
StyleConstants.setBold(style, true);
StyleConstants.setFontSize(style,16);
//style 2
style= textpanel.addStyle("normal",defstyle);
StyleConstants.setBackground(style,Color.white);
StyleConstants.setForeground(style,Color.black);
StyleConstants.setItalic(style, false);
StyleConstants.setBold(style, false);
StyleConstants.setFontSize(style,14);
//style3
style= textpanel.addStyle("attach",defstyle);
StyleConstants.setBackground(style,Color.white);
StyleConstants.setForeground(style,Color.red);
StyleConstants.setItalic(style, true);
StyleConstants.setBold(style, false);
StyleConstants.setFontSize(style,12);
//remote method called by server
public void addClient(String alias,String group,JTree tree)
//if old client remove old tree
if(!alias.equals(""))
cp.remove(this.jsp);
//add new tree
this.tree=tree;
setTreeModel();
getSound(2);
if(!alias.equals(""))
textArea2.append("\nNew Client:" + alias + "has joined");
else
textArea2.append("\nYou have been connected to the Server.");
jsp=new JScrollPane(this.tree);
jsp.setBounds(12,96,168,120);
jsp.setBackground(java.awt.Color.lightGray);
cp.add(jsp);
this.tree.addMouseListener(new MouseHandler());
//remote method called by server
public void sendMessage(String str,Hashtable rfiles,String alias,String group) throws RemoteException
receiveMessage(str,rfiles,alias,group);
//remote method called by server
public void removeClient(JTree tree,String alias,String group) throws RemoteException
cp.remove(this.jsp);
this.tree=tree;
setTreeModel();
getSound(3);
jsp=new JScrollPane(this.tree);
jsp.setBounds(12,96,168,120);
jsp.setBackground(java.awt.Color.lightGray);
cp.add(jsp);
this.tree.addMouseListener(new MouseHandler());
textArea2.append("\nClient:" + alias + "has disconnected");
private void receiveMessage(String str,Hashtable rfiles,String alias,String group)
boolean flag=true;
UIManager.put("JFrame.activeTitleBackground", new Color(64,128,255));
UIManager.put("JFrame.activeTitleForeground", Color.white);
UIManager.put("JFrame.inactiveTitleBackground", new Color(128,128,128));
UIManager.put("JFrame.inactiveTitleForeground", Color.black);
SwingUtilities.updateComponentTreeUI(this);
try{
if(alias.equals(""))
doc.insertString(doc.getLength(),"CHATMASTER>>",textpanel.getStyle("bold"));
doc.insertString(doc.getLength(),str+ newline,textpanel.getStyle("normal"));
else
doc.insertString(doc.getLength(),alias + "@" + group + ">>",textpanel.getStyle("bold"));
doc.insertString(doc.getLength(),str,textpanel.getStyle("normal"));
//add files to textpanel
if(rfiles!=null && rfiles.size()>0)
doc.insertString(doc.getLength(),newline+"Attachments>>",textpanel.getStyle("attach"));
showattach(rfiles);
addtoList(rfiles);
doc.insertString(doc.getLength(),newline,textpanel.getStyle("normal"));
catch(Exception e)
e.printStackTrace();
dialog.showMessageDialog(client,e.toString(),"Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
cp.repaint();
protected boolean ContactServer(String alias,String servername,String group)
try{
//UnicastRemoteObject.exportObject(this);
//server=(ServerInterface)Naming.lookup("//gpt02d05:5500/" + servername);
// server.notifyMe(this,alias,group);
//change the settings of buttons
button1.setEnabled(true);
button2.setEnabled(true);
button3.setLabel("Disconnect");
label8.setVisible(true);
label8.setText(" Welcome::" + alias);
//putting values of alias and group for sending messages
fromalias=alias;
fromgroup=group;
CONNECT=true;
return true;
catch(UnsupportedOperationException e)
dialog.showMessageDialog(client,"Client with the Same Alias in " + group + " already exists","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
try{
// UnicastRemoteObject.unexportObject(client,true);
catch(Exception ev){System.out.println(ev.toString());}
catch(Exception e)
dialog.showMessageDialog(client,"Unable to connect to Server","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
try{
// UnicastRemoteObject.unexportObject(client,true);
catch(Exception ev){System.out.println(ev.toString());}
return false;
public static void main(String args[]) throws RemoteException{
client=new Client();
}//main ends
public void getSound(int count)
Toolkit t1=getToolkit();
for(int i=0;i<count;i++)
t1.beep();
try{
Thread.sleep(500);
catch(Exception e){}
public void setTreeModel()
ImageIcon i1=new ImageIcon("Lock.gif","No Users");
ImageIcon i2=new ImageIcon("Connec.gif","Users in Group");
ImageIcon i3=new ImageIcon("authorbn.gif","An User");
DefaultTreeCellRenderer dr1= new DefaultTreeCellRenderer();
dr1.setClosedIcon(i1);
dr1.setOpenIcon(i2);
dr1.setLeafIcon(i3);
dr1.setTextSelectionColor(java.awt.Color.red);
tree.setCellRenderer(dr1);
//add received files to the list
private void addtoList(Hashtable rfiles)
Enumeration filelist=rfiles.keys();
while(filelist.hasMoreElements())
File file=(File)filelist.nextElement();
this.rfiles.put(file,rfiles.get(file));
//show the attachments received
private void showattach(Hashtable rfiles)
Enumeration filelist=rfiles.keys();
dsource=DragSource.getDefaultDragSource();
JButton b1=null;
while(filelist.hasMoreElements())
File file=(File)filelist.nextElement();
Icon icon=chooser.getIcon(file);
b1=new JButton(icon);
b1.setBackground(java.awt.Color.gray);
b1.setToolTipText(file.getName());
b1.addMouseListener(new AttachmentHandler());
Dimension d1=new Dimension(icon.getIconWidth(),icon.getIconHeight());
b1.setMaximumSize(d1);
hfiles.put(b1,file);
textpanel.setCaretPosition(doc.getLength());
textpanel.insertComponent(b1);
b1.setSize(icon.getIconWidth(),icon.getIconHeight());
dsource.createDefaultDragGestureRecognizer(b1, DnDConstants.ACTION_COPY_OR_MOVE,new DragGestureHandler());
cp.repaint();
private void savefile(File file,Object parent)
//ExtensionFileFilter filter = new ExtensionFileFilter(false);
//filter.addExtension("txt",true);
//chooser.setFileFilter(filter);
int returnVal = chooser.showSaveDialog(client);
if(returnVal ==JFileChooser.APPROVE_OPTION)
try{
FileOutputStream fstream=new FileOutputStream(chooser.getSelectedFile());
//decide whether the file received or sent is to be saved
if(((Container)parent).equals(textArea1))
fstream.write((byte[])files.get(file));
else
fstream.write((byte[])rfiles.get(file));
fstream.close();
System.out.println(file.getName());
catch(Exception e)
{System.out.println(e.toString()); }
private void openfile(File file,Object parent)
File tempfile=null;
try{
String fname=file.getName();
tempfile=File.createTempFile("temp",fname.substring(fname.lastIndexOf(".")));
FileOutputStream fstream=new FileOutputStream(tempfile);
System.out.println(tempfile.getAbsolutePath());
//decide whether the file received or sent is to be saved
if(((Container)parent).equals(textArea1))
fstream.write((byte[])files.get(file));
else
fstream.write((byte[])rfiles.get(file));
fstream.close();
catch(Exception e){System.out.println(e.toString());}
try{
Process p1=r1.exec("cmd /c start " + tempfile.getAbsolutePath());
p1.waitFor();
catch(Exception e){System.out.println(e.toString());}
//inner classes
class ComponentHandler implements ContainerListener{
public void componentRemoved(ContainerEvent ev)
Container cont=(Container)ev.getChild();
if(cont.getComponentCount()>0)
JButton but=(JButton)cont.getComponent(0);
files.remove((File)hfiles.get(but));
hfiles.remove(but);
public void componentAdded(ContainerEvent ev){}
class AttachmentHandler extends MouseAdapter{
public void mouseClicked(MouseEvent ev){
if(ev.getModifiers()==4)
Component comp=(Component)ev.getSource();
File file=(File)hfiles.get(comp);
popup=new JPopupMenu();
JMenuItem popopen=new JMenuItem("Open");
JMenuItem popsave=new JMenuItem("Save As..");
popup.add(popopen);
System.out.println(comp.getParent().getParent().getClass().toString());
popopen.addActionListener(new ButtonHandler(file,comp.getParent().getParent()));
popup.add(popsave);
popsave.addActionListener(new ButtonHandler(file,comp.getParent().getParent()));
popup.show(comp,12,12);
class DragGestureHandler extends Vector implements DragGestureListener,DragSourceListener,Transferable{
final static int FILE = 0;
final static int STRING = 1;
final static int PLAIN = 2;
DataFlavor flavors[] = {DataFlavor.javaFileListFlavor,DataFlavor.stringFlavor,DataFlavor.plainTextFlavor};
public void dragDropEnd(DragSourceDropEvent ev){}
public void dragEnter(DragSourceDragEvent ev){}
public void dragExit(DragSourceEvent ev){}
public void dragOver(DragSourceDragEvent ev){}
public void dropActionChanged(DragSourceDragEvent ev){}
public void dragGestureRecognized(DragGestureEvent ev)
System.out.println("recognized");
File file=(File)hfiles.get(ev.getComponent());
addElement(file);
ev.startDrag(DragSource.DefaultCopyDrop,this,this);
/* Returns the array of flavors in which it can provide the data. */
public synchronized DataFlavor[] getTransferDataFlavors() {
return flavors;
/* Returns whether the requested flavor is supported by this object. */
public boolean isDataFlavorSupported(DataFlavor flavor) {
boolean b = false;
b |=flavor.equals(flavors[FILE]);
b |= flavor.equals(flavors[STRING]);
b |= flavor.equals(flavors[PLAIN]);
return (b);
public synchronized Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException,IOException
if(flavor.equals(flavors[FILE])){return this;}
else if (flavor.equals(flavors[PLAIN])) {
return new StringReader(((File)elementAt(0)).getAbsolutePath());
} else if (flavor.equals(flavors[STRING])) {
return((File)elementAt(0)).getAbsolutePath();
} else {
throw new UnsupportedFlavorException(flavor);
//inner class for draging in the files on java frame
class DragDropHandler implements DropTargetListener{
public void dragEnter(DropTargetDragEvent ev){
public void dragExit(DropTargetEvent ev){
public void dragOver(DropTargetDragEvent ev){
public void drop(DropTargetDropEvent ev){
Transferable tf1=ev.getTransferable();
DataFlavor fl[]=ev.getCurrentDataFlavors();
if(ev.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
ev.acceptDrop (DnDConstants.ACTION_COPY_OR_MOVE);
try{
java.util.List fileList = (java.util.List)tf1.getTransferData(DataFlavor.javaFileListFlavor);
Iterator iterator = fileList.iterator();
while (iterator.hasNext())
File file = (File)iterator.next();
if(file.isFile())
Icon icon=chooser.getIcon(file);
FileInputStream fstream=new FileInputStream(file);
int filedata=(new Double(file.length())).intValue();
byte bytes[]=new byte[filedata];
fstream.read(bytes);
files.put(file,bytes);
ev.getDropTargetContext().dropComplete(true);
addAttach(fileList);
catch(Exception e)
{System.out.println(e.toString() + "here");}
public void dropActionChanged(DropTargetDragEvent ev){
class MouseHandler extends MouseAdapter{
public void mouseClicked(MouseEvent me)
TreePath tp=tree.getPathForLocation(me.getX(),me.getY());
if(tp!=null)
if(tp.getPathCount()==3)
toalias=tp.getPathComponent(2).toString();
togroup=tp.getPathComponent(1).toString();
System.out.println(toalias);
if (!(toalias.equals(fromalias) && togroup.equals(fromgroup)))
System.out.println("hh " + toalias);
label4.setText(tp.getPathComponent(2).toString() + "_@" + tp.getPathComponent(1).toString());
class ButtonHandler implements ActionListener{
private File file;
private Object parent;
//constructors
public ButtonHandler()
public ButtonHandler(File file,Object parent)
this.file=file;
this.parent=parent;
//other functions
public void actionPerformed(ActionEvent ev){
String s=ev.getActionCommand();
System.out.println(s);
if(s.equals("Send with Audio..."))
//Audio audio=new Audio(client,false,"CAPTURE");
if(s.equals("Disconnect"))
try{
// server.disconnect(client);
client.getSound(3);
cp.remove(jsp);
label6.setVisible(false);
//UnicastRemoteObject.unexportObject(client,true);
button3.setLabel("Connect");
textArea2.append("\nYou have been disconnected to Server");
client.repaint();
catch(Exception e)
System.out.println(e.toString());
if(s.equals("Connect"))
// clp=new ClientProperties(client,false);
if(s.equals("Save As.."))
savefile(file,parent);
if(s.equals("Open"))
openfile(file,parent);
if(s.equals("Attach"))
//ExtensionFileFilter filter = new ExtensionFileFilter(false);
//filter.addExtension(".txt",true);
//filter.setDescription("Text Files(.txt)");
// chooser.setFileFilter(filter);
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
//chooser.setMultiSelectionEnabled(true);
int returnVal = chooser.showOpenDialog(client);
if(returnVal ==JFileChooser.APPROVE_OPTION)
//File fp[]=chooser.getSelectedFiles();
File fp[]=new File[1];
fp[0]=chooser.getSelectedFile();
int i=0;
while(i<fp.length)
try{
File file=fp;
Icon icon=chooser.getIcon(file);
FileInputStream fstream=new FileInputStream(file);
int filedata=(new Double(file.length())).intValue();
byte bytes[]=new byte[filedata];
fstream.read(bytes);
files.put(file,bytes);
catch(Exception e){dialog.showMessageDialog(client,e.toString(),"Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
return; }
i++;
java.util.List fileList=Arrays.asList(fp);
addAttach(fileList);
if(s.equals("Send"))
try{
if(toalias==null)
dialog.showMessageDialog(client,"Select the Recepient First!!","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
return;
if(toalias!=null && togroup!=null && (!toalias.equals(fromalias)))
// server.sendMessage(textArea1.getText(),files,toalias,togroup,fromalias,fromgroup);
textArea1.setText("");
catch(Exception e)
e.printStackTrace();
}//if ends
class WindowEventHandler extends WindowAdapter{
public void windowClosing(WindowEvent ev){
try{
//server.disconnect(client);
client.getSound(3);
// UnicastRemoteObject.unexportObject(client,true);
catch(Exception e){System.out.println(e.toString());}
dispose();
private class onshutdown extends Thread{
public void run(){
try{
//server.disconnect(client);
//UnicastRemoteObject.unexportObject(client,true);
catch(Exception e){}
}//run endsHere is the working code :
There was an error line 724
File file=fp; -> File file=fp[0];
Several method were deprecated and try to replace the deprecated static field : DataFlavor.plainTextFlavor which was deprecated since 1.4.
/* Client.java*/
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.rmi.*;
import java.rmi.server.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.filechooser.*;
import java.io.*;
import java.awt.dnd.*;
import java.awt.datatransfer.*;
import javax.swing.plaf.*;
import javax.swing.plaf.basic.*;
import javax.swing.text.*;
import javax.swing.event.*;
public class Client extends JFrame{
static String newline = System.getProperty("line.separator");
static Client client;
//ServerInterface server;
//ClientProperties clp;
Vector v1=new Vector();
ByteArrayOutputStream out;
Runtime r1;
//file objects,together with array of bytes
Hashtable files=new Hashtable(); //files sent
Hashtable rfiles=new Hashtable(); //files received
//file objects,together with button handlers
Hashtable hfiles=new Hashtable(); //files sent,files received
JButton button1=new JButton();
JButton button2=new JButton();
JButton button3=new JButton();
JLabel label1=new JLabel();
JLabel label2=new JLabel();
JLabel label3=new JLabel();
JLabel label4=new JLabel();
JLabel label5=new JLabel();
JLabel label6=new JLabel();
JLabel label7=new JLabel();
JLabel label8=new JLabel();
JOptionPane dialog=new JOptionPane();
JFileChooser chooser = new JFileChooser();
JPanel panel1;
JPanel panel2;
DropTarget dtarget;
DragSource dsource;
JTextPane textArea1=new JTextPane();
TextArea textArea2=new TextArea();
JTextPane textpanel=new JTextPane();
Style defstyle,style;
StyledDocument doc,doc1;
JPopupMenu popup;
JTree tree;
JScrollPane jsppane;
JScrollPane jsp,jsp2;
DefaultMutableTreeNode top;
Container cp;
private String toalias;
private String togroup;
private String fromalias;
private String fromgroup;
private boolean CONNECT;
public Client()
cp=getContentPane();
cp.setLayout(null);
setForeground(java.awt.Color.red);
setFont(new Font("Dialog", Font.PLAIN, 14));
setVisible(false);
label1.setText(" CHAT APPLICATION");
cp.add(label1);
label1.setFont(new Font("Dialog", Font.BOLD, 16));
label1.setBounds(72,20,319,30);
label2.setText("List of Users Connected.");
cp.add(label2);
label2.setForeground(java.awt.Color.blue);
label2.setFont(new Font("Dialog", Font.BOLD, 12));
label2.setBounds(24,60,192,26);
label8.setBounds(280,60,100,26);
cp.add(label8);
cp.add(textArea2);
textArea2.setBounds(204,120,268,90);
jsppane=new JScrollPane(textArea1);
doc1=textArea1.getStyledDocument();
jsppane.setBounds(12,264,456,109);
cp.add(jsppane);
label3.setText("TO::");
cp.add(label3);
label3.setFont(new Font("Dialog", Font.BOLD, 12));
label3.setBounds(12,228,36,20);
cp.add(label4);
label4.setBackground(java.awt.Color.lightGray);
label4.setBounds(60,228,172,19);
label5.setText("SERVER RESPONSE");
cp.add(label5);
label5.setFont(new Font("Dialog", Font.BOLD, 12));
label5.setBounds(204,96,204,21);
label7.setText("MESSAGE FOR YOU.");
cp.add(label7);
label7.setFont(new Font("Dialog", Font.BOLD, 14));
label7.setBounds(12,371,288,25);
jsp2=new JScrollPane(textpanel);
setTextPaneStyle();
jsp2.setBounds(12,401,456,109);
cp.add(jsp2);
button1.setText("Send");
button1.setEnabled(false);
cp.add(button1);
button1.setBackground(java.awt.Color.lightGray);
button1.setForeground(java.awt.Color.black);
button1.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
button1.setBounds(60,520,78,36);
button2.setText("Attach");
//button2.setEnabled(false);
cp.add(button2);
button2.setBackground(java.awt.Color.lightGray);
button2.setForeground(java.awt.Color.black);
button2.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
button2.setBounds(180,520,72,36);
button3.setText("Connect");
cp.add(button3);
button3.setBackground(java.awt.Color.lightGray);
button3.setForeground(java.awt.Color.black);
button3.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
button3.setBounds(288,520,72,33);
setSize(500,620);
show();
addWindowListener(new WindowEventHandler());
button1.addActionListener(new ButtonHandler());
button2.addActionListener(new ButtonHandler());
button3.addActionListener(new ButtonHandler());
textArea1.addContainerListener(new ComponentHandler());
dtarget=new DropTarget(textArea1,new DragDropHandler());
textArea2.setEnabled(false);
textpanel.setEnabled(false);
r1=Runtime.getRuntime();
r1.addShutdownHook(new onshutdown());
addMenu();
cp.repaint();
//adds attachments to the textArea1
synchronized private void addAttach(java.util.List fileList)
Iterator iterator=fileList.iterator();
JButton bw;
while(iterator.hasNext())
File file=(File)iterator.next();
Icon icon=chooser.getIcon(file);
bw=new JButton(icon);
bw.setBackground(java.awt.Color.gray);
bw.setToolTipText(file.getAbsolutePath());
bw.addMouseListener(new AttachmentHandler());
Dimension d1=new Dimension(icon.getIconWidth(),icon.getIconHeight());
bw.setMaximumSize(d1);
hfiles.put(bw,file);
textArea1.insertComponent(bw);
textArea1.setCaretPosition(doc1.getLength());
bw.setSize(icon.getIconWidth(),icon.getIconHeight());
//only one file at a time
break;
cp.repaint();
public void setAudioStream(ByteArrayOutputStream out)
this.out=out;
private void addMenu()
JMenuBar mbar=new JMenuBar();
mbar.setVisible(true);
mbar.setBounds(0,0,500,20);
mbar.setBackground(java.awt.Color.gray);
//first menu
JMenu m1=new JMenu("Connection");
m1.setBounds(0,0,80,20);
m1.setBackground(java.awt.Color.gray);
JMenuItem mitem1=new JMenuItem("Connect");
JMenuItem mitem2=new JMenuItem("Disconnect");
m1.add(mitem1);
m1.add(mitem2);
mitem1.addActionListener(new ButtonHandler());
mitem2.addActionListener(new ButtonHandler());
mbar.add(m1);
//second menu
JMenu m2=new JMenu("Send...");
m2.setBounds(90,0,80,20);
m2.setBackground(java.awt.Color.gray);
JMenuItem mitem3=new JMenuItem("Send");
JMenuItem mitem4=new JMenuItem("Send with Audio...");
mitem3.addActionListener(new ButtonHandler());
mitem4.addActionListener(new ButtonHandler());
m2.add(mitem3);
m2.add(mitem4);
mbar.add(m2);
cp.add(mbar);
private void setTextPaneStyle()
StyleContext stylecontext =StyleContext.getDefaultStyleContext();
defstyle=stylecontext.getStyle(StyleContext.DEFAULT_STYLE);
doc= textpanel.getStyledDocument();
//style 1
style= textpanel.addStyle("bold",defstyle);
StyleConstants.setBackground(style,Color.white);
StyleConstants.setForeground(style,Color.blue);
StyleConstants.setItalic(style, false);
StyleConstants.setBold(style, true);
StyleConstants.setFontSize(style,16);
//style 2
style= textpanel.addStyle("normal",defstyle);
StyleConstants.setBackground(style,Color.white);
StyleConstants.setForeground(style,Color.black);
StyleConstants.setItalic(style, false);
StyleConstants.setBold(style, false);
StyleConstants.setFontSize(style,14);
//style3
style= textpanel.addStyle("attach",defstyle);
StyleConstants.setBackground(style,Color.white);
StyleConstants.setForeground(style,Color.red);
StyleConstants.setItalic(style, true);
StyleConstants.setBold(style, false);
StyleConstants.setFontSize(style,12);
//remote method called by server
public void addClient(String alias,String group,JTree tree)
//if old client remove old tree
if(!alias.equals(""))
cp.remove(this.jsp);
//add new tree
this.tree=tree;
setTreeModel();
getSound(2);
if(!alias.equals(""))
textArea2.append("\nNew Client:" + alias + "has joined");
else
textArea2.append("\nYou have been connected to the Server.");
jsp=new JScrollPane(this.tree);
jsp.setBounds(12,96,168,120);
jsp.setBackground(java.awt.Color.lightGray);
cp.add(jsp);
this.tree.addMouseListener(new MouseHandler());
//remote method called by server
public void sendMessage(String str,Hashtable rfiles,String alias,String group) throws RemoteException
receiveMessage(str,rfiles,alias,group);
//remote method called by server
public void removeClient(JTree tree,String alias,String group) throws RemoteException
cp.remove(this.jsp);
this.tree=tree;
setTreeModel();
getSound(3);
jsp=new JScrollPane(this.tree);
jsp.setBounds(12,96,168,120);
jsp.setBackground(java.awt.Color.lightGray);
cp.add(jsp);
this.tree.addMouseListener(new MouseHandler());
textArea2.append("\nClient:" + alias + "has disconnected");
private void receiveMessage(String str,Hashtable rfiles,String alias,String group)
boolean flag=true;
UIManager.put("JFrame.activeTitleBackground", new Color(64,128,255));
UIManager.put("JFrame.activeTitleForeground", Color.white);
UIManager.put("JFrame.inactiveTitleBackground", new Color(128,128,128));
UIManager.put("JFrame.inactiveTitleForeground", Color.black);
SwingUtilities.updateComponentTreeUI(this);
try{
if(alias.equals(""))
doc.insertString(doc.getLength(),"CHATMASTER>>",textpanel.getStyle("bold"));
doc.insertString(doc.getLength(),str+ newline,textpanel.getStyle("normal"));
else
doc.insertString(doc.getLength(),alias + "@" + group + ">>",textpanel.getStyle("bold"));
doc.insertString(doc.getLength(),str,textpanel.getStyle("normal"));
//add files to textpanel
if(rfiles!=null && rfiles.size()>0)
doc.insertString(doc.getLength(),newline+"Attachments>>",textpanel.getStyle("attach"));
showattach(rfiles);
addtoList(rfiles);
doc.insertString(doc.getLength(),newline,textpanel.getStyle("normal"));
catch(Exception e)
e.printStackTrace();
dialog.showMessageDialog(client,e.toString(),"Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
cp.repaint();
protected boolean ContactServer(String alias,String servername,String group)
try{
//UnicastRemoteObject.exportObject(this);
//server=(ServerInterface)Naming.lookup("//gpt02d05:5500/" + servername);
// server.notifyMe(this,alias,group);
//change the settings of buttons
button1.setEnabled(true);
button2.setEnabled(true);
button3.setText("Disconnect");
label8.setVisible(true);
label8.setText(" Welcome::" + alias);
//putting values of alias and group for sending messages
fromalias=alias;
fromgroup=group;
CONNECT=true;
return true;
catch(UnsupportedOperationException e)
dialog.showMessageDialog(client,"Client with the Same Alias in " + group + " already exists","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
try{
// UnicastRemoteObject.unexportObject(client,true);
catch(Exception ev){System.out.println(ev.toString());}
catch(Exception e)
dialog.showMessageDialog(client,"Unable to connect to Server","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
try{
// UnicastRemoteObject.unexportObject(client,true);
catch(Exception ev){System.out.println(ev.toString());}
return false;
public static void main(String args[]) throws RemoteException{
client=new Client();
}//main ends
public void getSound(int count)
Toolkit t1=getToolkit();
for(int i=0;i<count;i++)
t1.beep();
try{
Thread.sleep(500);
catch(Exception e){}
public void setTreeModel()
ImageIcon i1=new ImageIcon("Lock.gif","No Users");
ImageIcon i2=new ImageIcon("Connec.gif","Users in Group");
ImageIcon i3=new ImageIcon("authorbn.gif","An User");
DefaultTreeCellRenderer dr1= new DefaultTreeCellRenderer();
dr1.setClosedIcon(i1);
dr1.setOpenIcon(i2);
dr1.setLeafIcon(i3);
dr1.setTextSelectionColor(java.awt.Color.red);
tree.setCellRenderer(dr1);
//add received files to the list
private void addtoList(Hashtable rfiles)
Enumeration filelist=rfiles.keys();
while(filelist.hasMoreElements())
File file=(File)filelist.nextElement();
this.rfiles.put(file,rfiles.get(file));
//show the attachments received
private void showattach(Hashtable rfiles)
Enumeration filelist=rfiles.keys();
dsource=DragSource.getDefaultDragSource();
JButton b1=null;
while(filelist.hasMoreElements())
File file=(File)filelist.nextElement();
Icon icon=chooser.getIcon(file);
b1=new JButton(icon);
b1.setBackground(java.awt.Color.gray);
b1.setToolTipText(file.getName());
b1.addMouseListener(new AttachmentHandler());
Dimension d1=new Dimension(icon.getIconWidth(),icon.getIconHeight());
b1.setMaximumSize(d1);
hfiles.put(b1,file);
textpanel.setCaretPosition(doc.getLength());
textpanel.insertComponent(b1);
b1.setSize(icon.getIconWidth(),icon.getIconHeight());
dsource.createDefaultDragGestureRecognizer(b1, DnDConstants.ACTION_COPY_OR_MOVE,new DragGestureHandler());
cp.repaint();
private void savefile(File file,Object parent)
//ExtensionFileFilter filter = new ExtensionFileFilter(false);
//filter.addExtension("txt",true);
//chooser.setFileFilter(filter);
int returnVal = chooser.showSaveDialog(client);
if(returnVal ==JFileChooser.APPROVE_OPTION)
try{
FileOutputStream fstream=new FileOutputStream(chooser.getSelectedFile());
//decide whether the file received or sent is to be saved
if(((Container)parent).equals(textArea1))
fstream.write((byte[])files.get(file));
else
fstream.write((byte[])rfiles.get(file));
fstream.close();
System.out.println(file.getName());
catch(Exception e)
{System.out.println(e.toString()); }
private void openfile(File file,Object parent)
File tempfile=null;
try{
String fname=file.getName();
tempfile=File.createTempFile("temp",fname.substring(fname.lastIndexOf(".")));
FileOutputStream fstream=new FileOutputStream(tempfile);
System.out.println(tempfile.getAbsolutePath());
//decide whether the file received or sent is to be saved
if(((Container)parent).equals(textArea1))
fstream.write((byte[])files.get(file));
else
fstream.write((byte[])rfiles.get(file));
fstream.close();
catch(Exception e){System.out.println(e.toString());}
try{
Process p1=r1.exec("cmd /c start " + tempfile.getAbsolutePath());
p1.waitFor();
catch(Exception e){System.out.println(e.toString());}
//inner classes
class ComponentHandler implements ContainerListener{
public void componentRemoved(ContainerEvent ev)
Container cont=(Container)ev.getChild();
if(cont.getComponentCount()>0)
JButton but=(JButton)cont.getComponent(0);
files.remove((File)hfiles.get(but));
hfiles.remove(but);
public void componentAdded(ContainerEvent ev){}
class AttachmentHandler extends MouseAdapter{
public void mouseClicked(MouseEvent ev){
if(ev.getModifiers()==4)
Component comp=(Component)ev.getSource();
File file=(File)hfiles.get(comp);
popup=new JPopupMenu();
JMenuItem popopen=new JMenuItem("Open");
JMenuItem popsave=new JMenuItem("Save As..");
popup.add(popopen);
System.out.println(comp.getParent().getParent().getClass().toString());
popopen.addActionListener(new ButtonHandler(file,comp.getParent().getParent()));
popup.add(popsave);
popsave.addActionListener(new ButtonHandler(file,comp.getParent().getParent()));
popup.show(comp,12,12);
class DragGestureHandler extends Vector implements DragGestureListener,DragSourceListener,Transferable{
final static int FILE = 0;
final static int STRING = 1;
final static int PLAIN = 2;
DataFlavor flavors[] = {DataFlavor.javaFileListFlavor,DataFlavor.stringFlavor,DataFlavor.plainTextFlavor};
public void dragDropEnd(DragSourceDropEvent ev){}
public void dragEnter(DragSourceDragEvent ev){}
public void dragExit(DragSourceEvent ev){}
public void dragOver(DragSourceDragEvent ev){}
public void dropActionChanged(DragSourceDragEvent ev){}
public void dragGestureRecognized(DragGestureEvent ev)
System.out.println("recognized");
File file=(File)hfiles.get(ev.getComponent());
addElement(file);
ev.startDrag(DragSource.DefaultCopyDrop,this,this);
/* Returns the array of flavors in which it can provide the data. */
public synchronized DataFlavor[] getTransferDataFlavors() {
return flavors;
/* Returns whether the requested flavor is supported by this object. */
public boolean isDataFlavorSupported(DataFlavor flavor) {
boolean b = false;
b |=flavor.equals(flavors[FILE]);
b |= flavor.equals(flavors[STRING]);
b |= flavor.equals(flavors[PLAIN]);
return (b);
public synchronized Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException,IOException
if(flavor.equals(flavors[FILE])){return this;}
else if (flavor.equals(flavors[PLAIN])) {
return new StringReader(((File)elementAt(0)).getAbsolutePath());
} else if (flavor.equals(flavors[STRING])) {
return((File)elementAt(0)).getAbsolutePath();
} else {
throw new UnsupportedFlavorException(flavor);
//inner class for draging in the files on java frame
class DragDropHandler implements DropTargetListener{
public void dragEnter(DropTargetDragEvent ev){
public void dragExit(DropTargetEvent ev){
public void dragOver(DropTargetDragEvent ev){
public void drop(DropTargetDropEvent ev){
Transferable tf1=ev.getTransferable();
DataFlavor fl[]=ev.getCurrentDataFlavors();
if(ev.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
ev.acceptDrop (DnDConstants.ACTION_COPY_OR_MOVE);
try{
java.util.List fileList = (java.util.List)tf1.getTransferData(DataFlavor.javaFileListFlavor);
Iterator iterator = fileList.iterator();
while (iterator.hasNext())
File file = (File)iterator.next();
if(file.isFile())
Icon icon=chooser.getIcon(file);
FileInputStream fstream=new FileInputStream(file);
int filedata=(new Double(file.length())).intValue();
byte bytes[]=new byte[filedata];
fstream.read(bytes);
files.put(file,bytes);
ev.getDropTargetContext().dropComplete(true);
addAttach(fileList);
catch(Exception e)
{System.out.println(e.toString() + "here");}
public void dropActionChanged(DropTargetDragEvent ev){
class MouseHandler extends MouseAdapter{
public void mouseClicked(MouseEvent me)
TreePath tp=tree.getPathForLocation(me.getX(),me.getY());
if(tp!=null)
if(tp.getPathCount()==3)
toalias=tp.getPathComponent(2).toString();
togroup=tp.getPathComponent(1).toString();
System.out.println(toalias);
if (!(toalias.equals(fromalias) && togroup.equals(fromgroup)))
System.out.println("hh " + toalias);
label4.setText(tp.getPathComponent(2).toString() + "_@" + tp.getPathComponent(1).toString());
class ButtonHandler implements ActionListener{
private File file;
private Object parent;
//constructors
public ButtonHandler()
public ButtonHandler(File file,Object parent)
this.file=file;
this.parent=parent;
//other functions
public void actionPerformed(ActionEvent ev){
String s=ev.getActionCommand();
System.out.println(s);
if(s.equals("Send with Audio..."))
//Audio audio=new Audio(client,false,"CAPTURE");
if(s.equals("Disconnect"))
try{
// server.disconnect(client);
client.getSound(3);
cp.remove(jsp);
label6.setVisible(false);
//UnicastRemoteObject.unexportObject(client,true);
button3.setText("Connect");
textArea2.append("\nYou have been disconnected to Server");
client.repaint();
catch(Exception e)
System.out.println(e.toString());
if(s.equals("Connect"))
// clp=new ClientProperties(client,false);
if(s.equals("Save As.."))
savefile(file,parent);
if(s.equals("Open"))
openfile(file,parent);
if(s.equals("Attach"))
//ExtensionFileFilter filter = new ExtensionFileFilter(false);
//filter.addExtension(".txt",true);
//filter.setDescription("Text Files(.txt)");
// chooser.setFileFilter(filter);
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
//chooser.setMultiSelectionEnabled(true);
int returnVal = chooser.showOpenDialog(client);
if(returnVal ==JFileChooser.APPROVE_OPTION)
//File fp[]=chooser.getSelectedFiles();
File fp[]=new File[1];
fp[0]=chooser.getSelectedFile();
int i=0;
while(i<fp.length)
try{
File file=fp[0];
Icon icon=chooser.getIcon(file);
FileInputStream fstream=new FileInputStream(file);
int filedata=(new Double(file.length())).intValue();
byte bytes[]=new byte[filedata];
fstream.read(bytes);
files.put(file,bytes);
catch(Exception e){dialog.showMessageDialog(client,e.toString(),"Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
return; }
i++;
java.util.List fileList=Arrays.asList(fp);
addAttach(fileList);
if(s.equals("Send"))
try{
if(toalias==null)
dialog.showMessageDialog(client,"Select the Recepient First!!","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
return;
if(toalias!=null && togroup!=null && (!toalias.equals(fromalias)))
// server.sendMessage(textArea1.getText(),files,toalias,togroup,fromalias,fromgroup);
textArea1.setText("");
catch(Exception e)
e.printStackTrace();
}//if ends
class WindowEventHandler extends WindowAdapter{
public void windowClosing(WindowEvent ev){
try{
//server.disconnect(client);
client.getSound(3);
// UnicastRemoteObject.unexportObject(client,true);
catch(Exception e){System.out.println(e.toString());}
dispose();
private class onshutdown extends Thread{
public void run(){
try{
//server.disconnect(client);
//UnicastRemoteObject.unexportObject(client,true);
catch(Exception e){}
}//run ends
I hope this helps,
Denis -
What is the problem in this code (problem in select query)
Just need your help in solving one issue. In the below code one query which is highlighted
Select statement not working means cursor directly goes to the endselect .means these two statements not executed.
CLASS cl_abap_container_utilities DEFINITION LOAD.
CALL METHOD cl_abap_container_utilities=>read_container_c
I am attaching that code with this mail. Please do the needful help.
*& Report ZEOU_RG1 *
REPORT zeou_rg1 LINE-SIZE 400.
Purpose : RG1 Report driver
Remarks :
constants
INCLUDE j_2icons.
type declerations
INCLUDE j_2isdef.
table definitions and internal tables
INCLUDE j_2iddef.
INCLUDE <icon>.
DATA: $plant TYPE bp_addr_typ,
$lincnt LIKE sy-linct,
m_date LIKE j_1ipart2-budat,
m_chapid LIKE j_1iexcdtl-chapid,
m_matform LIKE j_1irg1-matform,
m_bedrate LIKE j_1irg1-bedrate,
tot_op_bal LIKE j_1irg1-menge,
tot_qty_mnfr LIKE j_1irg1-menge,
tot_total_qty_mnfr LIKE j_1irg1-menge,
tot_remv_home LIKE j_1irg1-menge,
tot_remv_hval LIKE j_1irg1-exbas,
tot_remv_expr LIKE j_1irg1-menge,
tot_remv_eval LIKE j_1irg1-exbas,
tot_remv_expb LIKE j_1irg1-menge,
tot_remv_othr LIKE j_1irg1-menge,
tot_remv_opur LIKE j_1irg1-menge,
tot_duty_amt LIKE j_1irg1-exbed,
tot_cb_fr LIKE j_1irg1-exbed,
tot_cb_br LIKE j_1irg1-exbed.
DATA: t_rg1_cons TYPE rg1_typ OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS: <x_extrctdata> TYPE c,
<x_rg1> TYPE rg1_typ,
<x_part1typ> TYPE part1_typ.
DATA : it_j_1iexchdr TYPE j_1iexchdr OCCURS 0 WITH HEADER LINE,
wa_j_1iexchdr TYPE j_1iexchdr,
it_j_1iexcdtl TYPE j_1iexcdtl OCCURS 0 WITH HEADER LINE,
wa_j_1iexcdtl TYPE j_1iexcdtl.
selection screen
PARAMETERS: p_exgrp LIKE j_1iexchdr-exgrp OBLIGATORY MEMORY ID j2i,
p_stdate LIKE sy-datum OBLIGATORY,
p_endate LIKE sy-datum OBLIGATORY.
*SELECTION-SCREEN SKIP 1.
*SELECTION-SCREEN BEGIN OF BLOCK 4 WITH FRAME TITLE TEXT-001.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN POSITION 01.
*PARAMETERS: P_INDI RADIOBUTTON GROUP 57F4 DEFAULT 'X'.
*SELECTION-SCREEN COMMENT (25) TEXT-002.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN POSITION 01.
*PARAMETERS: P_CONS RADIOBUTTON GROUP 57F4.
*SELECTION-SCREEN COMMENT (25) TEXT-003.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN END OF BLOCK 4.
INITIALIZATION.
AT SELECTION-SCREEN.
SELECT SINGLE *
FROM j_1iexgrps
WHERE j_1iexcgrp = p_exgrp.
IF sy-subrc NE 0.
MESSAGE e399(8i) WITH p_exgrp.
ENDIF.
*check company code
SELECT SINGLE *
FROM t001k
WHERE bwkey = j_1iexgrps-j_1iwerks.
IF sy-subrc NE 0.
MESSAGE e518(8i) WITH 'the' 'plant' j_1iexgrps-j_1iwerks.
ENDIF.
<b>START-OF-SELECTION.
CLEAR: j_1irg1, j_2icomp.
retrieve layout name and details
SELECT SINGLE *
FROM J_2ILAYCTR
WHERE BUKRS = T001K-BUKRS
AND REGISTER = C_RG1
AND LAYOUTNR = 1.
IF SY-SUBRC NE 0.
MESSAGE E635(8I) WITH T001K-BUKRS C_RG1.
ENDIF.
SET COUNTRY 'IN'.
REFRESH t_reciepts.
report driver logic
SELECT *
FROM j_2iextrct
WHERE exgrp = p_exgrp
AND budat >= p_stdate
AND budat <= p_endate
AND register = c_rg1
ORDER BY budat keyid.
assign J_2IEXTRCT-EXTRCTDATA to <x_extrctdata> casting.
assign T_RG1 to <x_rg1> casting.
<x_rg1> = <x_extrctdata>.
CLASS cl_abap_container_utilities DEFINITION LOAD.
CALL METHOD cl_abap_container_utilities=>read_container_c
EXPORTING
im_container = j_2iextrct-extrctdata
IMPORTING
ex_value = t_rg1
EXCEPTIONS
illegal_parameter_type = 1
OTHERS = 2.
MOVE J_2IEXTRCT-EXTRCTDATA TO T_RG1.
APPEND t_rg1.
ENDSELECT.
DESCRIBE TABLE t_rg1 LINES $lincnt.
IF $lincnt = 0.
MESSAGE e548(8i) WITH p_stdate p_endate.
ENDIF.</b>
PERFORM PLANT_AND_EXCISE_DTLS USING P_WERKS.
PERFORM plant_and_excise_dtls USING j_1iexgrps-j_1iwerks.
MOVE : 'ZJ_2I_RG1' TO j_2ilayctr-layoutname.
SORT t_rg1 BY chapid matnr cpudt .
open form
PERFORM open_form USING j_2ilayctr-layoutname j_2ilayctr-noofcopies "J_2ILAYCTR-LAYOUTNAME
j_2ilayctr-outdevice true.
process extract data and write
IF P_INDI = 'X'.
PERFORM get_data_and_write.
ELSEIF P_CONS = 'X'.
PERFORM RG1_PRINT_CONS.
PERFORM GET_DATA_AND_WRITE_CONS.
ENDIF.
close form
PERFORM close_form.
F O R M S
INCLUDE j_2ilayo.
*& Form GET_DATA_AND_WRITE
Purpose : Logic to print RG1 report
FORM get_data_and_write.
DATA: save_matnr LIKE mara-matnr.
CLEAR: j_1irg1, j_2icomp, save_matnr.
SELECT * FROM j_1iexchdr INTO TABLE it_j_1iexchdr
WHERE exgrp = p_exgrp
AND budat >= p_stdate
AND budat <= p_endate.
SORT it_j_1iexchdr BY cpudt docno.
LOOP AT it_j_1iexchdr.
SELECT * FROM j_1iexcdtl INTO wa_j_1iexcdtl
WHERE docno = it_j_1iexchdr-docno.
APPEND wa_j_1iexcdtl TO it_j_1iexcdtl.
ENDSELECT.
ENDLOOP.
clear wa_j_1iexcdtl.
SORT it_j_1iexcdtl BY chapid matnr cpudt docno.
LOOP AT t_rg1.
CLEAR: j_1irg1, j_2icomp.
assign header fields
j_2icomp-stdate = p_stdate.
j_2icomp-endate = p_endate.
IF save_matnr NE t_rg1-matnr.
fill header line with matnr, description, chapterid and unit
j_1irg1-chapid = t_rg1-chapid.
mara-matnr = t_rg1-matnr.
marav-maktx = t_rg1-maktx.
mara-meins = t_rg1-meins.
save_matnr = t_rg1-matnr.
IF sy-tabix NE 1.
j_2icomp-new_page = true.
ELSE.
j_2icomp-new_page = false.
ENDIF.
ELSE.
j_2icomp-new_page = false.
ENDIF.
PERFORM write_form USING element-spac function-set
typ-body window-main .
determine line to display viz. manufacture entry/removal entry
IF t_rg1-matform = c_packed.
j_2icomp-rg1_p_l = c_packed.
ELSEIF t_rg1-matform = c_loose.
j_2icomp-rg1_p_l = c_loose.
ENDIF.
j_1irg1-cpudt = t_rg1-cpudt.
j_2icomp-op_qty = t_rg1-op_bal.
j_2icomp-mf_qty = t_rg1-qty_mfr.
j_2icomp-to_qty = t_rg1-total.
j_2icomp-cl_fin = t_rg1-cl_bal_fn.
j_2icomp-cl_bon = t_rg1-cl_bal_bn.
j_2icomp-remarks = t_rg1-remarks.
j_2icomp-h_menge = t_rg1-h_menge.
j_2icomp-h_value = t_rg1-h_value.
j_2icomp-e_menge = t_rg1-e_menge.
j_2icomp-e_value = t_rg1-e_value.
j_2icomp-e_menge_bn = t_rg1-e_menge_bond.
j_2icomp-o_menge = t_rg1-o_menge.
j_2icomp-o_purpose = t_rg1-o_purpose.
j_2icomp-o_pur_meng = t_rg1-o_pur_menge.
j_1irg1-bedrate = t_rg1-bedrate.
j_1irg1-exbed = t_rg1-bedamt.
j_2icomp-cl_fin = t_rg1-cl_bal_fn.
j_2icomp-cl_bon = t_rg1-cl_bal_bn.
j_2icomp-remarks = t_rg1-remarks.
READ TABLE it_j_1iexcdtl WITH KEY cpudt = t_rg1-cpudt
chapid = t_rg1-chapid
matnr = t_rg1-matnr.
IF sy-subrc = 0.
get duties for issues only.
IF t_rg1-rcptissrsn = 'IPD'
OR t_rg1-rcptissrsn = 'IWD'
OR t_rg1-rcptissrsn = 'IDH'
OR t_rg1-rcptissrsn = 'IDE'
OR t_rg1-rcptissrsn = 'IWE'
OR t_rg1-rcptissrsn = 'IWT'
OR t_rg1-rcptissrsn = 'IWO'.
READ TABLE it_j_1iexchdr WITH KEY exnum = t_rg1-rdoc1
trntyp = 'DLFC'
cpudt = t_rg1-cpudt.
READ TABLE it_j_1iexcdtl WITH KEY docno = it_j_1iexchdr-docno
cpudt = it_j_1iexchdr-cpudt
trntyp = 'DLFC'
matnr = t_rg1-matnr.
docyr = it_j_1iexchdr-docyr
IF IT_j_1iexchdr-expind <> 'B'
and it_j_1iexchdr-expind <> 'U'
and it_j_1iexchdr-expind <> 'D'
and it_j_1iexchdr-expind <> 'N'
AND T_RG1-h_menge > 0.
and it_j_1iexchdr-expind IS INITIAL.
IF it_j_1iexchdr-censtat = 'P'.
wa_j_1iexcdtl-ecs = it_j_1iexcdtl-ecs.
ENDIF.
IF it_j_1iexchdr-censtat = 'C'.
wa_j_1iexchdr-exbed = it_j_1iexchdr-exbed.
wa_j_1iexchdr-ecs = it_j_1iexchdr-ecs.
wa_j_1iexchdr-censtat = it_j_1iexchdr-censtat.
wa_j_1iexchdr-cpudt = it_j_1iexchdr-cpudt.
wa_j_1iexcdtl-rgplaser = it_j_1iexcdtl-rgplaser.
wa_j_1iexcdtl-rg23aser = it_j_1iexcdtl-rg23aser.
ENDIF.
ENDIF.
endif.
ENDIF.
PERFORM write_form USING element-d function-append
typ-body window-main .
CLEAR : wa_j_1iexchdr, wa_j_1iexcdtl.
ENDLOOP.
ENDFORM. " GET_DATA_AND_WRITE
*& Form GET_DATA_AND_WRITE_CONS
text *
--> p1 text
<-- p2 text
FORM get_data_and_write_cons.
DATA: save_chapid LIKE j_1iexcdtl-chapid.
CLEAR: j_1irg1, j_2icomp, save_chapid.
LOOP AT t_rg1_cons.
CLEAR: j_1irg1, j_2icomp.
assign header fields
j_2icomp-stdate = p_stdate.
j_2icomp-endate = p_endate.
IF save_chapid NE t_rg1_cons-chapid.
fill header line with chapterid
j_1irg1-chapid = t_rg1_cons-chapid.
save_chapid = t_rg1_cons-chapid.
IF sy-tabix NE 1.
j_2icomp-new_page = true.
ELSE.
j_2icomp-new_page = false.
ENDIF.
ELSE.
j_2icomp-new_page = false.
ENDIF.
PERFORM write_form USING element-spac function-set
typ-body window-main .
determine line to display viz. manufacture entry/removal entry
IF t_rg1_cons-matform = c_packed.
j_2icomp-rg1_p_l = c_packed.
ELSEIF t_rg1_cons-matform = c_loose.
j_2icomp-rg1_p_l = c_loose.
ENDIF.
j_1irg1-cpudt = t_rg1_cons-cpudt.
j_2icomp-op_qty = t_rg1_cons-op_bal.
j_2icomp-mf_qty = t_rg1_cons-qty_mfr.
j_2icomp-to_qty = t_rg1_cons-total.
j_2icomp-cl_fin = t_rg1_cons-cl_bal_fn.
j_2icomp-cl_bon = t_rg1_cons-cl_bal_bn.
j_2icomp-remarks = t_rg1_cons-remarks.
j_2icomp-h_menge = t_rg1_cons-h_menge.
j_2icomp-h_value = t_rg1_cons-h_value.
j_2icomp-e_menge = t_rg1_cons-e_menge.
j_2icomp-e_value = t_rg1_cons-e_value.
j_2icomp-e_menge_bn = t_rg1_cons-e_menge_bond.
j_2icomp-o_menge = t_rg1_cons-o_menge.
j_2icomp-o_purpose = t_rg1_cons-o_purpose.
j_2icomp-o_pur_meng = t_rg1_cons-o_pur_menge.
j_1irg1-bedrate = t_rg1_cons-bedrate.
j_1irg1-exbed = t_rg1_cons-bedamt.
j_2icomp-cl_fin = t_rg1_cons-cl_bal_fn.
j_2icomp-cl_bon = t_rg1_cons-cl_bal_bn.
j_2icomp-remarks = t_rg1_cons-remarks.
PERFORM write_form USING element-d function-append
typ-body window-main .
*for grand totals
tot_remv_hval = tot_remv_hval + t_rg1_cons-h_value.
tot_remv_eval = tot_remv_eval + t_rg1_cons-e_value.
tot_duty_amt = tot_duty_amt + t_rg1_cons-bedamt.
ENDLOOP.
*for grand totals
j_2icomp-amount1 = tot_remv_hval.
j_2icomp-amount2 = tot_remv_eval.
j_2icomp-amount3 = tot_duty_amt.
PERFORM write_form USING element-t function-append
typ-body window-footer.
ENDFORM. " GET_DATA_AND_WRITE_CONS
*& Form RG1_PRINT_CONS
text *
--> p1 text
<-- p2 text
FORM rg1_print_cons.
DATA : first_time VALUE on.
SORT t_rg1 BY chapid cpudt.
LOOP AT t_rg1.
IF first_time = on.
m_chapid = t_rg1-chapid.
m_date = t_rg1-cpudt.
m_matform = t_rg1-matform.
m_bedrate = t_rg1-bedrate.
first_time = off.
ENDIF.
IF m_chapid <> t_rg1-chapid.
PERFORM chapid_break.
ELSEIF m_date <> t_rg1-cpudt.
PERFORM date_break.
ENDIF.
Accumulate totals
tot_op_bal = tot_op_bal + t_rg1-op_bal.
tot_qty_mnfr = tot_qty_mnfr + t_rg1-qty_mfr.
tot_total_qty_mnfr = tot_total_qty_mnfr + t_rg1-total.
tot_remv_home = tot_remv_home + t_rg1-h_menge.
tot_remv_hval = tot_remv_hval + t_rg1-h_value.
tot_remv_expr = tot_remv_expr + t_rg1-e_menge.
tot_remv_eval = tot_remv_eval + t_rg1-e_value.
tot_remv_expb = tot_remv_expb + t_rg1-e_menge_bond.
tot_remv_othr = tot_remv_othr + t_rg1-o_menge.
tot_remv_opur = tot_remv_opur + t_rg1-o_pur_menge.
tot_duty_amt = tot_duty_amt + t_rg1-bedamt.
tot_cb_fr = tot_cb_fr + t_rg1-cl_bal_fn.
tot_cb_br = tot_cb_br + t_rg1-cl_bal_bn.
ENDLOOP.
PERFORM chapid_break.
ENDFORM. " RG1_PRINT_CONS
*& Form DATE_BREAK
text *
--> p1 text
<-- p2 text
FORM date_break.
CLEAR t_rg1_cons.
t_rg1_cons-chapid = m_chapid.
t_rg1_cons-cpudt = m_date.
t_rg1_cons-op_bal = tot_op_bal.
t_rg1_cons-qty_mfr = tot_qty_mnfr.
t_rg1_cons-total = tot_total_qty_mnfr.
t_rg1_cons-h_menge = tot_remv_home.
t_rg1_cons-h_value = tot_remv_hval.
t_rg1_cons-e_menge = tot_remv_expr.
t_rg1_cons-e_value = tot_remv_eval.
t_rg1_cons-e_menge_bond = tot_remv_expb.
t_rg1_cons-o_menge = tot_remv_othr.
t_rg1_cons-o_pur_menge = tot_remv_opur.
t_rg1_cons-bedamt = tot_duty_amt.
t_rg1_cons-cl_bal_fn = tot_cb_fr.
t_rg1_cons-cl_bal_bn = tot_cb_br.
t_rg1_cons-matform = m_matform.
t_rg1_cons-bedrate = m_bedrate.
APPEND t_rg1_cons.
tot_op_bal = 0.
tot_qty_mnfr = 0.
tot_total_qty_mnfr = 0.
tot_remv_home = 0.
tot_remv_hval = 0.
tot_remv_expr = 0.
tot_remv_eval = 0.
tot_remv_expb = 0.
tot_remv_othr = 0.
tot_remv_opur = 0.
tot_duty_amt = 0.
tot_cb_fr = 0.
tot_cb_br = 0.
m_date = t_rg1-cpudt.
m_matform = t_rg1-matform.
m_bedrate = t_rg1-bedrate.
ENDFORM. " DATE_BREAK
*& Form CHAPID_BREAK
text
--> p1 text
<-- p2 text
FORM chapid_break.
PERFORM date_break.
m_chapid = t_rg1-chapid.
ENDFORM. " CHAPID_BREAKhi rakesh,
in your first select single * statement you have given WHERE BUKRS = T001K-BUKRS..but at the point of execution, what will be the value stored in t001k-bukrs...i doubt it will be initial....so, store bukrs in a variable or hardcode it.....
in the second select, you hve not given any target work area for the into class...that's y your subrc is 4...specify a target area, where you want the data to be stored... -
Can any one tell what is the problem in this code?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.*;
import java.util.*;
public class AppletTest2 extends JApplet implements ActionListener,MouseMotionListener,WindowListener{
JFrame fr = new JFrame("Visual Tool -- Work Flow Editor");
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JButton sButton = new JButton("Source");
JButton rButton = new JButton("Redirection");
JButton dButton = new JButton("Destination");
JButton connect = new JButton("Connect");
BasicStroke stroke = new BasicStroke(2.0f);
int flag = 1 ;
Vector lines = new Vector();
JButton sBut,rBut,dBut;
int x1 = 0 ;
int y1 = 0 ;
int x2 = 0 ;
int y2 = 0;
int x3 = 0;
int y3 = 0;
int i=0;
int j=0;
int k=0;
int l = 100;
int b = 50;
public void init(){
/*********Frame ******************/
fr.getContentPane().setLayout(new BorderLayout());
fr.setSize(700,500);
fr.getContentPane().add(panel1,BorderLayout.CENTER);
fr.getContentPane().add(panel2,BorderLayout.SOUTH);
fr.addWindowListener(this);
/*****************PANEL 1*********************/
panel1.setLayout(null);
panel1.setBounds(new Rectangle(0,0,400,400));
panel1.setBackground(new Color(105,105,205));
/************************PANEL 2 *************/
panel2.setLayout(new FlowLayout());
panel2.setBackground(new Color(105,205,159));
panel2.add(sButton);
panel2.add(rButton);
panel2.add(dButton);
panel2.add(connect);
connect.setToolTipText("Use this button after selecting From and To position to connect");
/***************************LISTENER********************/
sButton.addActionListener(this);
rButton.addActionListener(this);
dButton.addActionListener(this);
connect.addActionListener(this);
fr.setVisible(true);
fr.setResizable(false);
} // init clse
/************************** START METHOD **********************************************/
public void start(){
System.out.println("inside start");
paint(panel1.getGraphics());
/*******************************APPLET METHODS **************************************************/
public void stop(){}
public void destroy(){}
/******************************MOUSE MOTION LISTENERS METHOD*************************************/
public void mouseMoved(MouseEvent e){System.out.println("moved");}
public void mouseDragged(MouseEvent e){System.out.println("dragged");}
/***************************************ACTION EVENT IMPLEMENTAION *******************************/
public void actionPerformed(ActionEvent e){
if (e.getSource().equals(sButton)){
sourceObject("Source Object");
else if (e.getSource().equals(rButton)){
redirectionObject("Redirection");
i = i+1;
else if (e.getSource().equals(dButton)){
destinationObject("Destination");
j= j+1;
else if (e.getSource().equals(connect)){
System.out.println("am inside connect");
paint(panel1.getGraphics());
else if(e.getSource().equals(sBut)){
System.out.println("am s button");
x1 = sBut.getX() + l;
y1 = sBut.getY() + (b/2);
else if(e.getSource().equals(rBut)){
System.out.println("am r button");
x2 = rBut.getX() ;
y2 = rBut.getY()+ b/2;
System.out.println("x2 : " + x2 + "y2 :" +y2 );
else if(e.getSource().equals(dBut)){
System.out.println("am d button");
x3 = dBut.getX();
y3 = dBut.getY()+ b/2;
} // action close
/**********************Main **********************************/
public static void main(String args[]){
JApplet at = new AppletTest2();
at.init();
at.start();
/********************my methods starts here *******************/
public void sourceObject(String name){
sBut = new JButton(name);
panel1.add(sBut);
sBut.setBounds(new Rectangle(20,208,l,b));
sBut.addActionListener(this);
System.out.println("am inside the source object") ;
public void redirectionObject(String name){
rBut = new JButton(name);
panel1.add(rBut);
rBut.setBounds(new Rectangle(290,208,l,b));
rBut.addActionListener(this);
System.out.println("am inside the redirection :" + j) ;
public void destinationObject(String name){
dBut = new JButton(name);
panel1.add(dBut);
System.out.println("am inside the destination object") ;
if (j == 0)
dBut.setBounds(new Rectangle(566,60,l,b));
System.out.println("am inside the destination:" + j) ;
} else if (j == 2)
dBut.setBounds(new Rectangle(566,208,l,b));
System.out.println("am inside the destination :" + j) ;
} else if (j == 1)
dBut.setBounds(new Rectangle(566,350,l,b));
System.out.println("am inside the destination :" + j) ;
dBut.addActionListener(this);
/* public void connectObject(Object obj1,Object obj2){
System.out.println("nothing");
/************************************* PAINT **************************/
public void paint(Graphics g){
System.out.println("inside paint");
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(stroke);
if(flag == 1){
System.out.println("inside flag");
int np = lines.size();
System.out.println(np);
for (int I=0; I < np; I++) {
Rectangle p = (Rectangle)lines.elementAt(I);
System.out.println("width" + p.width);
g2.setColor(Color.red);
g2.drawLine(p.x,p.y,p.width,p.height);
System.out.println(p.x +"" +""+ p.y + ""+ ""+ p.width+ "" + ""+ p.height);
flag = -1;
}else if(flag == -1){
if(x1 != 0 && y1 != 0 && x2 != 0 && y2 != 0 ){
// Graphics2D g2 = (Graphics2D) g;
// g2.setStroke(stroke);
g2.setColor(Color.red);
g2.drawLine(x1,y1,x2,y2);
lines.addElement(new Rectangle(x1,y1,x2,y2));
x1 = 0 ;y1 = 0 ;
x2 = 0 ;y2 = 0 ;
// g2.drawLine(100,100,200,200);
else if (x2 != 0 && y2 != 0 && x3 != 0 && y3 != 0 )
// Graphics2D g2 = (Graphics2D) g;
// g2.setStroke(stroke);
g2.setColor(Color.green);
g2.drawLine(x2,y2,x3,y3);
lines.addElement(new Rectangle(x2,y2,x3,y3));
x2 = 0; y2 = 0 ;
x3 = 0 ; y3 = 0 ;
else if (x1 != 0 && y1 != 0 && x3 != 0 && y3 != 0)
// Graphics2D g2 = (Graphics2D) g;
// g2.setStroke(stroke);
g2.setColor(Color.red);
g2.drawLine(x1,y1,x3,y3);
lines.addElement(new Rectangle(x1,y1,x3,y3));
x1 = 0; y1 = 0 ;
x3 = 0 ; y3 = 0 ;
// repaint();
/********************************WINDOW LISTENER IMPLEMENTATION *****************************/
public void windowActivated(WindowEvent we) {
flag = 1;
paint(panel1.getGraphics());
System.out.println("windowActivated -- event 1");
//start();
public void windowClosed(WindowEvent we) {
System.out.println("windowClosed -- 2");
public void windowClosing(WindowEvent we){
System.out.println("windowClosing -- 3");
public void windowDeactivated(WindowEvent we) {
System.out.println("windowDeactivated -- 4");
public void windowDeiconified(WindowEvent we) {
flag = 1;
System.out.println("windowDeiconified -- 5");
paint(panel1.getGraphics());
public void windowIconified(WindowEvent we) {
System.out.println("windowIconified -- 6");
//paint(panel1.getGraphics());
public void windowOpened(WindowEvent we) {
// flag = 1;
// paint(panel1.getGraphics());
System.out.println("windowopened -- 7");
The problem am facing here is that when i minimize the frame and maximize , my old lines are getting disappared.
For avoiding that i am storing the old coordinates and
try to redraw , when maximize.
but the lines are coming for flash of second and disappearing once again ?
can any one help?
thanks allVery interestingly the same code is repainting in
Linux SUSE,jdk1.3.
but not in WINNT , jdk 1.3
Any reason ?
Is the swing 100 % platform independenet ?????
Does swing also uses native thread ??? -
What is the problem with this Xcopy in PostBuild?
I am having the following post-build command in a Visual Studio project:
xcopy $(ProjectDir)Data $(OutDir)\
The Data is a directory in the project folder which I want to have copied to bin/debug or bin/release after build completes successfully.
I am getting an error as below:
The command "xcopy E:\Lavanya Deepak\Projects\matrimonial\Data bin\Debug\" exited with code 4.Why are you using Xcopy for something that Visual Studio can do already?
http://support.microsoft.com/kb/306234
http://msdn.microsoft.com/en-us/library/0c6xyb66%28v=vs.80%29.aspx
Besides, this is a issue with XCOPY, not with Visual C# or Visual Studio (wich this forum is about). Perhaps you better look into the documentation or ask in a admin Forum?
-1 for not an answer to the question.
This does not address the need for XCOPY. This is NOT an answer. How does this help transfer *.ascx files along with the compiled code behind into the respective directories of a local website for debugging. Umbraco requires this as an example.
Also, this could be an issue with Visual studio as the XCOPY works in VS 2012 and via the command prompt but NOT VS 2013 for me. -
Custom tables create in Apps schema ( What are the problems with this?)wwww
Hello all,
I'm a dba in a new environment where a number of custom schemas are being created in the apps schema. I know this is not considered Oracle's best practice and I would like to make some recommendations for a change. Before doing so, I would like to know the problems that are associated with custom tables living in the apps schema. We are currently on 11.5.10.2 on AIX. Also, if someone can point me to any "Official" customization standard or Oracle documention where I can backup my case it would be greatly appreciated.
Thanks in advance,Hi,
Please see this thread.
Custom application implemented in E-bussiness Suite
Re: Custom application implemented in E-bussiness Suite
Regards,
Hussein -
What's the problem with this CC stuff?
Since CC is available I only have trouble with all this stuff. I'm on OSX ML and there seems to be no change to install anything of the new stuff. CC app desktop- failed to install. When I use AAM, the CC apps are available, but after downloading I get an installation failure (15). I've tried anything discussed in this community, but nothing worked. So why there are so many problems with CC? Since I pay over 60 Euros each month, I would like to use the promised applications. ADOBE, please supply a reliable solution for all operating systems without the need of erase data, rename folders or anything else. Thanks in advance.
1hausl1 I would recommend you contact our support team and work with them directly. You can contact our chat support at http://adobe.ly/yxj0t6.
-
What is the problem with this script. it is giving invalid table name error
declare
l_cnt number;
v_sql varchar2(1000);
table_name1 varchar2(1000);
begin
for i in ( select table_name from all_tables )
loop
table_name1 := i.table_name;
v_sql := 'select count(1) from :table' ;
execute immediate v_sql into l_cnt using table_name1;
dbms_output.put_line(l_cnt);
end loop;
end;the problem is that you can't do that. it's illegal. use dynamic sql.
http://download-east.oracle.com/docs/cd/B10501_01/appdev.920/a96624/11_dynam.htm#10961
see a million other thread here, including this one posted 12 minutes before yours
Passing Parameter to From clause of SQL
Maybe you are looking for
-
Office 2013 Pro-Plus installation problem on Windows 8
Downloaded OfficeProfessionalPlus_x86_en-us.img from TechNet on my brand new Dell PC. When double clicked, Windows complains 'Sorry, There was a problem mounting the file". Used 7Zip and saw a Setup.exe When I ran Setup.exe it complains "The specifie
-
Test Enterprise Voice using existing PBX
Hi- I have a standard Lync deployment. Also have a VoIP system using a Mitel 3300 ICP. Do you know of a way to use the Mitel to test Lync Enterprise Voice without interrupting my current VoIP service? Thanx You should never, never doubt what nobody i
-
TS2446 I've reset the disabled password but still have no access to Apps?
I've reset my password numerous time to remedy the "disabled for security" reasons but it still does not allow me to access new apps or update them? help!!
-
Unable to reconnect mac pro wirelessly to my Epson SX515W printer?
Mac Pro is my laptop Epson printer SX515SW I had wireless connection From a couple of months ago i am unable to reconnect it Printer has wireless connection,when i try to print anything,, the computer says printer not connected , keep saying printer
-
Every web site I visit only displays a pale blue background with darker blue titles & words. There are NO photos anywhere!!! My homepage is Comcast, and they always have lots of photos....is it a Firefox problem, or is it yet another annoying quirk o