Thread: Chat Client
View Single Post
  #3 (permalink)  
Old 05-29-2007, 03:20 AM
Jessi34 Jessi34 is offline
Member
 
Join Date: May 2007
Posts: 3
Jessi34 is on a distinguished road
I need help
I need to implement the action to cut, copy, paste and send.
Here in my code I have the actionListener already added but it does not do anything...... Also I need to implement my GUI as a client Server do I need to enter the socket before the main method

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.KeyStroke;


public class ChatGui extends JFrame{

//private JTextField TF;

//private JTextArea TA;
private JButton ok;
ChatGui cg;
static JTextField tf;
static boolean s= true;
public ChatGui(){
super("Natalie's Chat Client");
setSize(500,300);
setLocation(100,100);
setLayout(new BorderLayout());


JTextArea TA = new JTextArea();
add(TA,BorderLayout.CENTER);

ok=new JButton("ok");
JPanel TFPanel = new JPanel();
TFPanel.setLayout(new BorderLayout());
JTextField TF = new JTextField();
TFPanel.add(TF,BorderLayout.CENTER);
TFPanel.add(ok,BorderLayout.EAST);


add(TFPanel,BorderLayout.SOUTH);

//add(TF,BorderLayout.SOUTH);
TA.setEditable(false);


JMenuBar jmb=new JMenuBar();


JMenu FileMenu = new JMenu("File");
JMenuItem SendMenuItem = new JMenuItem("Send");
SendMenuItem.setMnemonic(KeyEvent.VK_S);
SendMenuItem.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_S,ActionEvent.CTRL_MASK));
//*******add actionevents, to send
FileMenu.add(SendMenuItem);

JMenuItem ExitMenuItem = new JMenuItem("Exit");
ExitMenuItem.setMnemonic(KeyEvent.VK_E);
ExitMenuItem.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_E,ActionEvent.CTRL_MASK));
ExitMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
System.exit(1);
}
});
FileMenu.add(ExitMenuItem);

jmb.add(FileMenu);

JMenu EditMenu = new JMenu("Edit");
JMenuItem CutMenuItem = new JMenuItem("Cut");
CutMenuItem.setMnemonic(KeyEvent.VK_X);
CutMenuItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_X,ActionEvent.CTRL_MASK));
CutMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
cg.getTextField().cut();
cg.setSaved(false);
}catch(NullPointerException npe){}
}

});
EditMenu.add(CutMenuItem);
JMenuItem CopyMenuItem = new JMenuItem("Copy");
CopyMenuItem.setMnemonic(KeyEvent.VK_C);
CopyMenuItem.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_C,ActionEvent.CTRL_MASK));
CopyMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
cg.getTextField().copy();
}catch(NullPointerException npe){}
}
});
//***********setActionevents from edit menu items,later.
EditMenu.add(CopyMenuItem);
JMenuItem PasteMenuItem = new JMenuItem("Paste");
PasteMenuItem.setMnemonic(KeyEvent.VK_V);
PasteMenuItem.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_V,ActionEvent.CTRL_MASK));
PasteMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){

try{
cg.getTextField().paste();
cg.setSaved(false);
}catch(NullPointerException npe){}

}
});


EditMenu.add(PasteMenuItem);
jmb.add(EditMenu);

JMenu HelpMenu = new JMenu("Help");
JMenuItem AboutMenuItem= new JMenuItem("About");
AboutMenuItem.setMnemonic(KeyEvent.VK_F10);
AboutMenuItem.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_F10,ActionEvent.SHIFT_MASK));
//*********might be a problem with the mnemonic for about. I'm not sure what to use in place
//of the ALT_MASK.
AboutMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(ChatGui.this,"Natali e Catherine Martinez\n ChatClient, version one\n co-author: Dr. Jeff Miller");
}
});
HelpMenu.add(AboutMenuItem);
jmb.add(HelpMenu);


setJMenuBar(jmb);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(1);
}
});
setVisible(true);

}

public static void setTextField(JTextField jtf) {
tf = jtf;
}
public static JTextField getTextField() {
return tf;
}
public void setSaved(boolean isSaved) {
s = isSaved;
}
public boolean getSaved() {
return s;
}

public static void main(String[] args) {
ChatGui cg= new ChatGui();
}
}
Reply With Quote