搜档网
当前位置:搜档网 › java聊天程序源代码

java聊天程序源代码

java聊天程序源代码
java聊天程序源代码

java聊天程序源代码

服务端:

import java.io.*;

import https://www.sodocs.net/doc/a1337309.html,.*;

import java.util.*;

public class ChatServer {

boolean stat = false;

ServerSocket ss = null;

List clients = new ArrayList();//用于存客户端

public static void main(String[] args) {

new ChatServer().start();

}

public void start(){

try {

ss = new ServerSocket(8888);

stat = true;

} catch(BindException e){ //Sever端已经运行,当重复运行时抛异常

System.out.println("端口正在使用中。。。。");

System.out.println("请关掉相关程序并重新运行服务器!"); //还会抛别的异常,所以直接关闭窗口

System.exit(0);

} catch(IOException e) {

e.printStackTrace();

}

try{

while(stat){

Socket s = ss.accept();

System.out.println("a client connected!" ); //测试语句写在最左边,以后没用可以删除或注掉

Client c = new Client(s); //每建立一个客户端,就new一个客户端对象,启动一个线程

new Thread(c).start();

clients.add(c); //勿忘写,将每个客户端加入到容器里

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

ss.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

class Client implements Runnable {

private Socket s;

private DataInputStream dis;

private DataOutputStream dos;

private boolean cont = false;

public Client(Socket s){

this.s = s;

try {

dis = new DataInputStream(s.getInputStream());//初始化dos = new DataOutputStream(s.getOutputStream());

cont = true;

} catch (IOException e) {

e.printStackTrace();

}

}

public void send(String str){ //用于发送给客户端

try {

dos.writeUTF(str);

} catch (IOException e) {

clients.remove(this); //移除那个退出的对象

System.out.println("一个客户退出了");

//e.printStackTrace();

}

}

public void run() {

try{

while(cont){

String str = dis.readUTF(); //阻塞式方法

System.out.println(str);

for(int i=0; i

Client c = clients.get(i); //取客户端

c.send(str);

}

/* 另外两种方法,但不适用,它会锁定服务端

for(Iterator it = clients.iterator(); it.hasNext();){

Client c = it.next();

c.send(str);

}

Iterator it = clients.iterator();

while(it.hasNext()){

Client c = it.next();

c.send(str);

}

*/

}

} catch (EOFException e){ //readUTF()阻塞式方法,所以关闭客户端会抛异常System.out.println("Client closed!");

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if(dis != null) dis.close();

if(dos != null) dos.close();

if(s != null) {

s.close();

s = null;//更严格的方法,等于空就没人去用了,垃圾收集器就回收走

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

客户端:

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import https://www.sodocs.net/doc/a1337309.html,.*;

public class ChatClient extends Frame {

Socket s = null;

DataOutputStream dos = null;

DataInputStream dis = null;

private boolean cont = false;

TextField tfTxt = new TextField();

TextArea taContent = new TextArea();

Thread tRecv = new Thread(new RecvThread());

public static void main(String[] args) {

new ChatClient().launchFrame();

}

public void launchFrame() {

setLocation(400, 300);

this.setSize(300, 300);

add(tfTxt,BorderLayout.SOUTH);

add(taContent,BorderLayout.NORTH);

pack(); //包在一起,去掉中间空着的

this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

disconnect();

System.exit(0);

}

});

tfTxt.addActionListener(new TfListent());

setVisible(true);

connect();

tRecv.start(); //启动线程

}

public void connect(){

try {

s = new Socket("127.0.0.1",8888);//注意不要定义成Socket s,这就成了局部变量而不是成员变量了

System.out.println("connected!");

dos = new DataOutputStream(s.getOutputStream());

dis = new DataInputStream(s.getInputStream());

cont = true;

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public void disconnect(){

try {

dos.close();

dis.close();

s.close();

} catch (IOException e) {

e.printStackTrace();

}

/*//无法解决readUTF阻塞式方法

try {

cont = false; //关闭线程

tRecv.join(); //合并线程,彻底让他停止

} catch (InterruptedException e) {

e.printStackTrace();

} finally {

try {

dos.close(); //线程停止之后才能关流,不然抛SocketException异常dis.close();

s.close();

} catch (IOException e) {

e.printStackTrace();

}

}

*/

}

private class TfListent implements ActionListener {

public void actionPerformed(ActionEvent e) {

String str = tfTxt.getText().trim();

tfTxt.setText("");

try {

dos.writeUTF(str);

dos.flush();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

private class RecvThread implements Runnable{

public void run() {

try {

while(cont){

String str = dis.readUTF();

taContent.setText(taContent.getText() + str + '\n');

}

} catch (SocketException e){

System.out.println("退出了,bye!");

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

简单的聊天程序,主要用到的是Socket,线程以及流

如果没看懂可以去下载

https://www.sodocs.net/doc/a1337309.html,/topics/93279/

尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse.rar

1.客户端

package com.client;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintStream;

import https://www.sodocs.net/doc/a1337309.html,.Socket;

import https://www.sodocs.net/doc/a1337309.html,.UnknownHostException;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

import com.ui.ChatUI;

public class Client extends ChatUI implements ActionListener { private String content = "";

Socket socket;

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static int i;

public Client() {

super("?客户端:");

getSendBtn().addActionListener(this);

getCancelBtn().addActionListener(this);

try {

++i;

socket = new Socket("localhost", 1234);

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand().equals("Send")) {

String msg = getMsgText().getText();

String s = "?: " + df.format(new Date()) + "\n" + msg;

content = content + s + "\n";

getContentText().setText(content.trim());

getMsgText().setText("");

try {

PrintStream ps = new PrintStream(socket.getOutputStream());

ps.println(msg);

} catch (UnknownHostException e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

} else if (e.getActionCommand().equals("Cancel")) {

System.exit(0);

}

}

public static void main(String[] args) {

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (UnsupportedLookAndFeelException e) {

e.printStackTrace();

}

Client c = new Client();

c.accept();

}

public void accept(){

try {

while (true) {

BufferedReader br = new BufferedReader(new InputStreamReader(

socket.getInputStream()));

char[] msg = new char[1024];

String msgs = "";

while (br.read(msg) != -1) {

msgs = new String(msg);

if (msgs != null) {

content += ": " + df.format(new Date()) + "\n"

+ msgs.trim() + "\n";

getContentText().setText(content);

}

}

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

2.服务器端

package com.server;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintStream;

import https://www.sodocs.net/doc/a1337309.html,.ServerSocket;

import https://www.sodocs.net/doc/a1337309.html,.Socket;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

import com.client.Client;

import com.ui.ChatUI;

public class Server extends ChatUI implements ActionListener {

private String content = "";

ServerSocket server;

Socket socket;

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

public Server() {

super("服务器");

getSendBtn().addActionListener(this);

getCancelBtn().addActionListener(this);

try {

server = new ServerSocket(1234);

while (true) {

socket = server.accept();

ServerThread s = new ServerThread(socket, getContentText());

new Thread(s).start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (UnsupportedLookAndFeelException e) {

e.printStackTrace();

}

new Server();

// s.accept();

}

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand().equals("Send")) {

String msg = getMsgText().getText();

String s = "服务器:" + df.format(new Date()) + "\n";

content += s + msg + "\n";

getContentText().setText(content);

getMsgText().setText("");

try {

PrintStream ps = new PrintStream(socket.getOutputStream());

ps.println(msg);

} catch (IOException e1) {

e1.printStackTrace();

}

} else if (e.getActionCommand().equals("Cancel")) {

System.exit(0);

}

}

public void accept() {

try {

while (true) {

BufferedReader br = new BufferedReader(new InputStreamReader(

socket.getInputStream()));

char[] msg = new char[1024];

String msgs = "";

while (br.read(msg) != -1) {

msgs = new String(msg);

if (msgs != null) {

content += "客户端: " + df.format(new Date()) + "\n"

+ msgs.trim() + "\n";

getContentText().setText(content);

}

}

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

3.服务器端线程

package com.server;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import https://www.sodocs.net/doc/a1337309.html,.Socket;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.swing.JTextArea;

public class ServerThread implements Runnable {

Socket socket;

JTextArea contentText;

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String content;

public ServerThread(Socket socket, JTextArea contentText) {

this.socket = socket;

this.contentText = contentText;

}

public void run() {

try {

while (true) {

BufferedReader br = new BufferedReader(new InputStreamReader(

socket.getInputStream()));

char[] msg = new char[1024];

String msgs = "";

while (br.read(msg) != -1) {

msgs = new String(msg);

if (msgs != null) {

content += "客户端: " + df.format(new Date()) + "\n"

+ msgs.trim() + "\n";

contentText.setText(content);

System.out.println(content);

}

}

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

4.界面

package com.ui;

import java.awt.Adjustable;

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.Point;

import java.awt.Rectangle;

import java.awt.ScrollPane;

import javax.naming.Context;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JViewport;

import javax.swing.WindowConstants;

public class ChatUI extends JFrame {

private JTextArea contentText, msgText;

private JButton sendBtn, cancelBtn;

public ChatUI(String title) {

super(title);

setLayout(new BorderLayout());

setVisible(true);

setBounds(250, 150, 530, 450);

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

// ?????????

JPanel conentPanel = new JPanel();

ScrollPane scroll = new ScrollPane();

scroll.setWheelScrollingEnabled(true);

scroll.setSize(470, 300);

contentText = new JTextArea(12, 40);

contentText.setLineWrap(true);

// JViewport jv = new JViewport();

// jv.setViewPosition(new Point(conentPanel.getX(),conentPanel.getY()+500)); // scroll.setViewport(jv);

scroll.add(contentText);

conentPanel.add(scroll);

// ??????

JPanel msgPanel = new JPanel();

ScrollPane scrollMsgPanel = new ScrollPane();

scroll.setWheelScrollingEnabled(true);

scrollMsgPanel.setSize(470, 70);

msgText = new JTextArea(3, 40);

msgText.setLineWrap(true);

scrollMsgPanel.add(msgText);

msgPanel.add(scrollMsgPanel);

// ??????

JPanel btnPanel = new JPanel();

sendBtn = new JButton("Send");

cancelBtn = new JButton("Cancel");

btnPanel.add(sendBtn);

btnPanel.add(cancelBtn);

getContentPane().add(conentPanel, BorderLayout.NORTH); getContentPane().add(msgPanel, BorderLayout.CENTER); getContentPane().add(btnPanel, BorderLayout.SOUTH);

}

public JButton getCancelBtn() {

return cancelBtn;

}

public void setCancelBtn(JButton cancelBtn) {

this.cancelBtn = cancelBtn;

}

public JTextArea getContentText() {

return contentText;

}

public void setContentText(JTextArea contentText) {

this.contentText = contentText;

}

public JTextArea getMsgText() {

return msgText;

}

public void setMsgText(JTextArea msgText) {

this.msgText = msgText;

}

public JButton getSendBtn() {

return sendBtn;

}

public void setSendBtn(JButton sendBtn) {

this.sendBtn = sendBtn;

}

}

Java网络聊天室程序

服务器端:

//package chapter1;

import https://www.sodocs.net/doc/a1337309.html,.*;

import java.io.*;

import java.util.*;

public class ChatServer {

/**

* @param args

* m_threads是一个Vector静态变量,维护所有Server方的ServerThread对象,

* 通过该变量能向所有加入聊天室的聊天者ChatApplet广播信息,撤销退出的聊天者。

* 聊天服务者ChatServer的主方法。该方法监听聊天者Chat Applet的请求,

* 并为新连接的聊天者创建一个服务线程。

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

ServerSocket socket=null;

Vector m_threads=new Vector();

System.out.println("listen...");

try

{

//设置ServerSocket监听端口号为5555,这个数字必须和程序聊天者ChatApplet中的port 参数一致

socket=new ServerSocket(5555);

}

catch(Exception e)

{

System.out.println("new ServerSocket() failed!");

return;

}

try

{

int nid=0;

while(true)

{

//监听是否有新聊天者Chat Applet连接到聊天Server,

//线程运行到该语句会封锁,直到有新的连接产生

Socket s=socket.accept();

System.out.println("accepted");

//创建一个新的ServerThread

ServerThread st=new ServerThread(s,m_threads);

//为该线程设置一个ID号

st.setID(nid++);

//将线程加入到m_threads Vector中

m_threads.addElement(st);

//启动服务线程

new Thread(st).start();

//通知所有ChatApplet有一个新的网友加入

for(int i=0;i

{

ServerThread st1=(ServerThread)m_threads.elementAt(i);

st1.write("<#>welcome"+st.getID()+"to enter chatroom!");

}

System.out.println("Listen again...");

}

}

catch(Exception e)

{

System.out.println("Server is down...");

}

}

}

//监听线程,监听对应的Chat Applet是否有信息传来

class ServerThread implements Runnable

{

Vector m_threads;

Socket m_socket=null;

DataInputStream m_in=null;

DataOutputStream m_out=null;

int m_nid;

//初始化线程

public ServerThread(Socket s,Vector threads)

{

m_socket=s;

m_threads=threads;

try

{

//构造数据输入、输出流对象

m_in=new DataInputStream(m_socket.getInputStream());

m_out=new DataOutputStream(m_socket.getOutputStream());

}

catch(Exception e)

{

}

public void run() //线程的执行体

{

System.out.println("thread is running");

try

{

while(true)

{

//监听对应的ChatApplet是否传来消息

//线程封锁在m_in.readUTF()中,直到有信息传来才返回

String s=m_in.readUTF();

if(s==null)break;

//如果Chat Applet传来的信息为“leave”,则通知所有其他的ChatApplet自己推出了 if(s.trim().equals("leave"))

for(int i=0;i

{

ServerThread st=(ServerThread)m_threads.elementAt(i);

st.write("***"+getID()+"leave..."+"***");

}

else

//向所有ChatApplet广播该消息

for(int i=0;i

{

ServerThread st=(ServerThread)m_threads.elementAt(i);

st.write("<"+getID()+">"+s);

}

}

}

catch(Exception e)

{

e.printStackTrace();

}

//从m_threads Vector中删除该线程,表示该线程已经离开聊天室

m_threads.removeElement(this);

try

{

m_socket.close();

}

catch(Exception e)

{

}

}

//将msg送回对应的Applet

public void write(String msg)

synchronized(msg)

{

try

{

m_out.writeUTF(msg);

}

catch(IOException e){}

}

}

public int getID() //获得该线程的ID

{

return m_nid;

}

public void setID(int nid) //设置线程的ID

{

m_nid=nid;

}

}

客户端:

//package chapter1;

import java.awt.*;

import java.applet.*;

import java.io.*;

import https://www.sodocs.net/doc/a1337309.html,.*;

//继承Applet,实现Runnable

public class ChatApplet1 extends Applet implements Runnable{ TextArea m_textarea; //接受消息显示窗口

TextField m_textfield; //发送消息输入窗口

DataInputStream m_in; //消息输入流

DataOutputStream m_out; //消息输出流

/**

* @param args ChatApplet的初始化方法

*/

public void init()

{

//创建窗口

setLayout(null);

setSize(426,266);

m_textarea=new TextArea(10,10);

m_textfield=new TextField();

m_in=null;

m_out=null;

//初始化Appleton,并连接到聊天服务者

try

{

//获取applet的URL,即通过服务器地址

URL url=getCodeBase();

//获取服务器IP地址

InetAddress inetaddr=InetAddress.getByName(url.getHost());

Socket m_socket;

//屏幕显示服务器IP地址、通信协议

System.out.println("Server:"+inetaddr+""+url.getHost()+""+url.getProtocol()); //创建与服务器IP地址连接的套接口,5555是聊天服务器套接口端口

m_socket=new Socket(inetaddr,5555);

//在套接口上建立输入流

m_in=new DataInputStream(m_socket.getInputStream());

//在套接口上建立输出流

m_out=new DataOutputStream(m_socket.getOutputStream());

}

catch(Exception e)

{

System.out.println("Error:"+e);

}

setLayout(new BorderLayout());

add("Center",m_textarea);

add("South",m_textfield);

m_textarea.setEditable(false);

//启动监听线程

new Thread(this).start();

}

//当聊天者在消息输入窗口键入回车后,读取字符串,发送给聊天服务者。

public boolean handleEvent(Event event)

{

String b=m_textfield.getText();

if((event.target==m_textfield)&&(event.id==Event.ACTION_EVENT))

{

m_textfield.setText("");

//将聊天者输入的消息发送给ChatServer

try

{

m_out.writeUTF(b); //向聊天服务者发送一个UFT格式字符串

}

catch(IOException e){}

return true;

}

else

return super.handleEvent(event);

}

//聊天者监听对应的服务线程,在读取对应服务线程传来的消息,并显示在通信显示窗口中

public void run()

{

try

{

while(true)

{

//聊天者监听对应服务线程发来的消息,它将封锁在该语句中,直到消息到来

String s=m_in.readUTF(); //读一个UTF格式字符串

if(s!=null)

//将消息显示在信息显示窗口中

m_textarea.append(s+"\n");

}

}

catch(Exception e)

{

m_textarea.append("Network problem or Server down.\n");

m_textfield.setVisible(false);

}

}

public void stop()

{

try

{

m_out.writeUTF("leave");

}

catch(IOException e){}

}

public static void main(String[] args) {

// TODO 自动生成方法存根

}

}

JAVA代码编写一简单网络聊天程序

要求:聊天室服务器、聊天室客户端;客户端之间可以聊天。 因为我是初级选手,想借此程序分析学习java,所以代码最好多一点注释... 分数有限,望大家不吝赐教!!问题补充: 需要图形用户界面哦,最好用swing组件 服务器端:采用多线程,可以向客户广播:当前聊天室人数,客户名称列表,客户进入离开提示; 客户端:可以设定昵称,性别,客户间可以私聊 服务器端: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import https://www.sodocs.net/doc/a1337309.html,.*; public class Server extends JFrame implements ActionListener{ JPanel contentPane; JLabel jLabel2 = new JLabel(); JTextField jTextField2 = new JTextField("4700"); JButton jButton1 = new JButton(); JLabel jLabel3 = new JLabel(); JTextField jTextField3 = new JTextField(); JButton jButton2 = new JButton(); JScrollPane jScrollPane1 = new JScrollPane(); JTextArea jTextArea1 = new JTextArea(); ServerSocket server = null; Socket socket = null;BufferedReader instr =null;PrintWriter os=null ; //Construct the frame public Server() { jbInit(); } class MyThread extends Thread{//该线程负责接受数据 public void run(){ try{ while(true){ this.sleep(100); instr= new BufferedReader(new InputStreamReader(socket.getInputStream())); if(instr.ready()){ //检查是否有数据 jTextArea1.append("客户端: "+instr.readLine()+"\n"); } } }catch(Exception ex){} }

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化 参考代码: import .*;

import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

java简单聊天小程序

网络编程java简单聊天小程序[下次修改成多线程的,这个必须等待对方输入结束,有机会修改成可视化窗口] By 刘汪洋 写入正确的ip地址即可正常用当然目前只停留在命令行界面 还没有写成可视化窗口界面 运行时请带上参数 如java TransServer 张三 Java TransClient 李四 ( 和刘正南在局域网试验的截图成功 这是修改后的 加上了姓名! ) (修改前的截图)

代码: 客户端: package com.baidu.chat; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import https://www.sodocs.net/doc/a1337309.html,.Socket; import https://www.sodocs.net/doc/a1337309.html,.UnknownHostException; // 简单聊天小程序客户端 public class TransClient { public static void main(String[] args)

{ if(args[0]==null) args[0] = "他"; startClient(args[0]); } private static void startClient(String name) { Socket sk = null; BufferedReader bufr = null; try { sk = new Socket("127.0.0.1",10000);// 1 创建 socket服务 bufr = new BufferedReader(new InputStreamReader(System.in));// 2 获取录入键盘 PrintWriter out = new PrintWriter(sk.getOutputStream(),true);// 3 获取输出流true表示自动刷新 BufferedReader bufIn = new BufferedReader(new InputStreamReader(sk.getInputStream()));// 4 获取输入流 // 5 发送获取 String text_send = ""; String text_get = ""; String ServerName = ""; System.out.print("聊天已开启..."+"\r\n"+"我说:");

java简单计算器源代码

简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { //新建对象,在构造函数中进行初始化 JFrame frame;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;//新建三个面板 TextField tf;//新建文本区域对象 public CalcultorThree(){ //初始化对象 tf=new TextField(30);//构造空文本字段,字符宽度为30 frame =new JFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

java版基于UDP协议网上聊天程序课程设计

湖南工业大学 课程设计 资料袋 计算机与通信学院学院(系、部)2013 ~ 2014 学年第 1 学期课程名称网络协议分析指导教师李建设职称副教授 学生姓名专业班级网络工程学号 题目基于UDP协议网上聊天程序 成绩起止日期2013 年11 月25 日~2013 年12 月13 日 目录清单

5 6 课程设计任务书 2013 —2014学年第1 学期 学院(系、部)计算机与通信学院专业网络工程班级102 课程名称:网络工程学生姓名: 设计题目:基于UDP协议网上聊天程序指导教师:李建设 完成期限:自2013 年11 月25 日至2013 年12 月13 日共 3 周 容 及 任 务 一、设计内容 实现一个基于UDP协议的简单的聊天程序,包括服务器和客户端。 1.支持多人聊天。 2.客户端具有图形化用户界面。 二、设计任务 课程设计说明书(纸质+电子版),内容包括:设计内容、系统分析(包括可行性分析、需求分析等)及功能分析;系统设计(要求画出系统整体功能框图、流程图、并给出相应地关键的代码且对所使用的主要数据结构进行说明等。)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。 三、设计要求 1.按功能要求开发系统,能正确运行。程序代码书写规范,有充足的注释。 2.课程设计所使用的编程语言任选,但建议使用C或C++; 3.绿色软件:程序运行不需安装,避免写系统和注册表; 进 度 安 排 起止日期工作内容 2013-11-25~2013-11-3 选题 2013-12-1~2013-12-3 系统分析和设计; 2013-12-4~2013-12-8 熟悉软件开发工具、编码系统、系统测试 2013-12-9~2013-12-13 撰写并提交课程设计说明书(含电子文档)、源程序等。

科学计算器程序Java代码

科学计算器程序Java代码

MC:清除独立内存里的数字 MR:读出独立内存数字 MS:将显示数字保存到独立内存,并取代内存中原有数字 M+:将显示数字向独立内存累加 (独立内存是一个临时寄放数字的存储器,方便计算) CE:纠错键(CLEAR ERROR).输入数字有错,按它可以重新输入 C:表示清零,将计算器恢复到开机状态 功能举例: 源程序如下: import java.awt.BorderLayout;

import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField; public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;//单选框 private JCheckBoxMenuItem seeItem3;//复选框 private ButtonGroup bgb; private String back; private boolean IfResult = true, flag = false;

java编写的简单局域网聊天室(适合初学者).

import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Frame; import java.awt.Panel; import java.awt.Point; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.io.FileWriter; import java.io.IOException; import https://www.sodocs.net/doc/a1337309.html,.DatagramPacket; import https://www.sodocs.net/doc/a1337309.html,.DatagramSocket; import https://www.sodocs.net/doc/a1337309.html,.InetAddress; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class GUI_Chat extends Frame { private static final long serialVersionUID = 1L; private TextArea viewTextArea = new TextArea(20, 1; private TextArea sendTextArea = new TextArea(; private TextField ipTextField = new TextField(20; private Button sendButton = new Button(" 发送" ; private Button clearButton = new Button(" 清屏" ; private Button logButton = new Button(" 记录" ; private Button shakeButton = new Button(" 震动" ; private Panel panel = new Panel(; private DatagramSocket socket ;

java编写简单计算器源代码

import javax.swing.*; import java.awt.event.*; import java.awt.*; import https://www.sodocs.net/doc/a1337309.html,ng.Math; class ring extends JFrame implements ActionListener { //定义成员变量: //JFrame frame;//定义一个窗口类; JTextField text;//定义一个文本框类; JLabel label;//定义一个标签类; JPanel p1,p2,p3,p4,p5,p6;//定义面板类; String s1,s,s2;//定义三个字符串变量; int count=0; JButton a1,a2,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6,c1,c2,c3,c4,c5,c6,d1,d2,d3,d4 ,d5,d6; //ring的构造函数; ring() { this.setTitle("计算器"); // super("计算器"); JMenuBar menubar1=new JMenuBar();//新建菜单条; this.setJMenuBar(menubar1); JMenu menu1=new JMenu("编辑(E)"); JMenu menu2=new JMenu("查看(V)"); JMenu menu3=new JMenu("帮助(H)"); menubar1.add(menu1); menubar1.add(menu2); menubar1.add(menu3); JMenuItem item1=new JMenuItem("复制(c) ctrl+c"); JMenuItem item2=new JMenuItem("粘贴(p) ctrl+v"); JMenuItem item3=new JMenuItem("标准型(T)"); JMenuItem item4=new JMenuItem("科学型(s)"); JMenuItem item5=new JMenuItem("数字分组(I)"); JMenuItem item6=new JMenuItem("帮助主题(H)"); JMenuItem item7=new JMenuItem("关于计算机(A)"); menu1.add(item1); menu1.add(item2); menu2.add(item3); menu2.add(item4); menu2.add(item5); menu3.add(item6);

java课程设计聊天小程序

java课程设计聊天小程序

课程设计指导书 姓名学 号 班 级 一 班 课程名称Java课程设计课程性质 设计时间2010年11月4日——2010年12月31日设计名称聊天小程序 设计目的本次课程设计是对前面学过的面向对象的编程思想以及编程方法的一个总结、回顾和实践。开始设计前学生一定要先回顾以前所学的内容,明确本次设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JA V A的应用系统综合实例,来掌握Java语言编程技巧。 设计要求1、使用图形用户界面。 2、能实现一个聊天室中多人聊天。 3、可以两人私聊。

计划与进度计划在两个月内完成任务,首先在前半个月内(11月4日--11月19日),构思通过网上(图书馆)的知识与课本上的相关内容的了解与认识,确认好选择的课题与怎样设计,基本的思路想好。十五天(11月19日--12月5日)内参考资料争取完成服务端的程序,在12月5日--12月20日完成客户端的程序设计,在12月20日—12月30日内完成实现报告的填写工作。在12月31日全面完成整个课题,并上交给老师。 任课教师意见备注

课程设计报告 课程: 学号: 姓名: 班级 教师: 时间

计算机科学与技术 设计名称:聊天小程序日期:2010 年 11月 4 日 设计内容:设计一个在图形界面下,实现一个聊天室中多人聊天,也可以私聊的聊天小程序 设计目的与要求:目的是为了更好的掌握java 这门课程的内容,同时更好的理解与掌握socket 编程,对所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,掌握Java语言编程技巧。要求使用图形用户界面。能实现一个聊天室中多人聊天。可以两人私聊。(提示:使用socket通信)程序描述清晰准确,思路清晰,程序能够实现相应的功能。

若干个经典的Java小程序源代码

一个Java小程序源代码(反转字符串)//BorderLayoutTest.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.event.*; public class test1 { public static void main(String[] args) { cloneFrame frame = new cloneFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); } } class cloneFrame extends JFrame { public cloneFrame() {

setTitle("机试程序"); setSize(600, 400); JPanel buttonPanel = new JPanel(); buttonPanel.setBackground(new Color(56,43,85)); Button1 = new JButton("点击复制反转字符串"); Button1.addActionListener(new turnListener()); buttonPanel.add(Button1); JPanel textPanel = new JPanel(); textPanel.setBackground(new Color(100,100,100)); field1 = new JTextField("姓名:老孙;学号:2004132028", 20); field2 = new JTextField("反转", 20); field2.setEditable(false); textPanel.add(field1); textPanel.add(field2); JPanel tuPanel = new JPanel();

java编写的简单的计算器程序

j a v a编写的简单的计 算器程序 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化

参考代码: import .*; import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

JAVA课程设计--简单的网络聊天程序

本科课程设计课程设计题目:简单的网络聊天程序

课程设计报告1.设计目的:

序言 1.1 背景 在当今的信息时代,越来越多的聊天工具被应用,Java语言是当今流行的网络编程语言,它具有面向对象、与平台无关、安全、多线程等特点。使用Java语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的、嵌入式设备进行应用程序的开发。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼我们熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。 此次课程设计的题目为简单的聊天室,通过做巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。 1.2 相关技术 CPU:Pentium 2.8GHz以上 内存:256MB以上 硬盘空间:80G以上 操作系统:Windows7 运行环境:eclips

2. 程序设计与实现 2.1需求分析 Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构中立的,可移植的,性能很优异的,多线程的,动态的语言。Java去掉了C++语言的许多功能,如:指针运算、结构、typedefs、#define,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。这将减少平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。 因此运用JAVA程序编写聊天室,实现简单聊天功能。本次课程设计做的是Java简单聊天室,它是图形界面、线程、流与文件等技术的综合应用,其界面主要采用了java.awt包,javax.swing包等。程序实现了聊天室的基本功能,其中有: (1)启动服务器:实现网络的连接,为注册进入聊天室做准备。 (2)启动客户端:实现网络的链接,可以进行正式的聊天 (3)发送信息:为用户发送信息提供平台。 (4)离开界面:使用户退出聊天室。 (5)关闭服务器:断开与网络的连接,彻底退出聊天室。

JAVA编写的计算器源代码

package jsq; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; public class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel();

利用JAVA实现简单聊天室

利用JAVA实现简单聊天室 1.设计思路 Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构中立的,可移植的,性能很优异的,多线程的,动态的语言。而且,Java 很小,整个解释器只需215K的RAM。 因此运用JAVA程序编写聊天室,实现简单聊天功能。程序实现了聊天室的基本功能,其中有: (1)启动服务器:实现网络的连接,为注册进入聊天室做准备。 (2)注册登陆界面:填写基本信息如姓名等,可以供多人进入实现多人聊天功能。 (3)发送信息:为用户发送信息提供平台。 (4)离开界面:使用户退出聊天室。 (5)关闭服务器:断开与网络的连接,彻底退出聊天室。 2.设计方法 在设计简单聊天室时,需要编写5个Java源文件:Server.java、Objecting.java、LogIn.java、ClientUser.java、Client.java。 3 程序功能图及程序相关说明 (1)主功能框图

(2) 聊天室基本功能表 4.程序代码是说明 程序中引入的包: package Chat; import https://www.sodocs.net/doc/a1337309.html,.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*;

import java.io.*; (1)服务器端代码中用户自定义类: 类名:Server 作用:服务器启动 继承的接口名:ActionListener public class Server implements ActionListener{ 定义的对象: count //记录点机关闭按钮次数2次关闭 soconly //只有SOCKET,用于群发 sockets//所有客户的SOCKET socket_thread //Socket所在的线乘,用于退出;frame // 定义主窗体 panel //定义面板 start,stop //启动和停止按钮 主要成员方法: public void center //定义小程序查看器的位置 public void actionPerformed //定义处理异常机制 定义子类:serverRun,Details 继承的父类名:Thread class serverRun extends Thread //启线乘用于接收连入的Socket class Details extends Thread //具体处理消息的线乘,只管发送消息创建一个ServerSocket 对象,用于接受指定端口客户端的信息 ServerSocket server = new ServerSocket("1234"); 接受请求时候,通过accept()方法,得到一个socket对象。 Socket socket = server.accept(); 通过socket创建流(输入,输出)。 BufferedReaderbr=newBufferedReader(newInputStreamReader (socket.getInputStream())) DataInputStream dis = new DataInputStream(socket.getInputStream());

计算器JAVA源代码

计算器JAVA源代码 这是我在培训班时,学了一个月后编写的一个简易计算器的源代码。从设计、编码、实现该程序共用时一天(10个小时)。当时只是学完了JAVA的基础知识,各位也看得出,这里面没有用到高深的技术,全是基础的,所以我当时理解的就是:编程主要需要的是解决问题的思维、思想!现将其公布,希望能给初学者一点起示: [注:将考贝后,在JDK环境下可直接运行] [源代码] import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; class Jsqzj implements ActionListener { JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16; JFrame f; GridLayout c=new GridLayout(4,4); JTextField tf = new JTextField(); public void init() { f=new JFrame("CardLayout testing"); Container ct = f.getContentPane();

tf.setHorizontalAlignment(JTextField.RIGHT); ct.add(tf,"North"); JPanel p2=new JPanel(); ct.add(p2,"Center"); GridLayout c=new GridLayout(4,4); p2.setLayout(c); JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16; b1=new JButton("1"); b2=new JButton("2"); b3=new JButton("3"); b4=new JButton("4"); b5=new JButton("5"); b6=new JButton("6"); b7=new JButton("7"); b8=new JButton("8"); b9=new JButton("9"); b10=new JButton("0"); b11=new JButton("."); b12=new JButton("="); b13=new JButton("+"); b14=new JButton("-");

《Java聊天程序的设计与实现》

本科生毕业论文(设计)系(院)计算机科学学院专业计算机科学与技术 论文题目Java聊天程序的设计与实现 学生姓名车永华 指导教师苏炳均(副教授) (姓名及职称) 班级08级ACCP2班 学号08339311 完成日期:二0一一年十一月

Java聊天程序的设计与实现 车永华 计算机科学学院计算机科学与技术08339311 [摘要]:随着信息时代的来临,人们之间的交流也越来越趋向于网络。因此各种聊天工具的使用也是非常频繁,如MSN、QQ之类的聊天工具也被广泛使用。本文在研究局域网通信机制的原理和计算机网络编程基本原理的基础上,使用Java作为开发工具,开发出了一款在局域网中进行通信交流的软件。 [关键字]:Java 服务器端客户端数据传输 引言 当今主流的聊天工具有QQ,MSN,网易泡泡等,国内最热门的聊天工具当属腾讯QQ,是由深圳市腾讯计算机系统公司开发的,基于Internet的即时寻呼软件。你可以通过QQ和你的亲朋好友进行交流,即时收发消息,文件传输,语音视频,发送邮件等功能,QQ不仅仅在电脑在应用,还能通过移动电话登录手机腾讯网址或者下载手机可用的手机客户端进行QQ的登录使用。QQ支持显示好友的在线信息,即时传送信息、即时交谈、即时发送文件和网址。QQ可以在Win95/98/NT/2000/XP/Win7操作系统下运行,是十分灵活的网络通信工具。 虽然QQ软件是免费的,而且功能也是越来越强大。但是唯一的不足的地方就是都需要在电脑联网的情况下才能使用,脱离了Internet根本就是一个只能看不能用的软件,为了能在脱离了Internet的情况下使用的局域网聊天工具,那就必须要有服务器端,而本系统就是包括服务器端和客户端,可以在局域网聊天的一个软件。 1 开发工具概述 1.1什么是Java Java是一种可以跨平台应用的面向对象的程序设计语言,他是由Sun公司在

java课程设计报告_简单图形界面计算器的设计

Java 课程设计 简单图形界面计算器的设计 课程名称 Java程序设计 选题名称简单图形界面计算器的设计 专业 班级 姓名 学号 指导教师 简单图形界面计算器的设计

一、设计任务与目标 本次java程序设计我的设计任务是设计一个图形界面(GUI)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。 GUI计算器设计的具体目标: 1.完成十进制的加、减、乘、除、求倒、取余和开方运算; 2.有小数点和正负号加入运算; 3.有退格、复位和清零的功能; 4.有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。 二、方案设计与论证 1.设计目标的总体分析 (1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。 (2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入和输出。 (3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:①满足以上的基本功能要求;②能够在常见的计算机及其操作系统上运行。 2.设计的基本思路 利用GUI的界面设计,将整个大设计分为三块,分别是数据的输入,运算符

功能符的控制和数据的输入输出显示。利用Swing控件,数据的输入由0~9这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“±”这2个按钮来表示小数点和正负号,用“Back”、“CE”和“C”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。 我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。 三、程序流程图,程序清单与调用关系 1. 程序流程图:

科学计算器程序Java代码

功能举例: 源程序如下: import import import import import import import import import import import import import import import import import import import public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;###");, new Dot(), ; addButton(panel2, "+", new Signs(), ; addButton(panel2, "tan", new Signs(), ; addButton(panel2, "%", new Signs(), ; addButton(panel2, "π", numActionListener, ; addButton(panel2, "e", numActionListener, ; addButton(panel2, "′″", new Signs(), ; addButton(panel2, "=", new Signs(), ; JButton btns = new JButton("计算器"); createLoweredBevelBorder()); false);rim()); (i)); }else if(str == "Backspace"){ if()) > 0){ if().length() > 1){ ().substring(0, ().length() - 1)); ength() > 2){ ().substring(0, ().length() - 1)); }else{

java简单计算器源代码

j a v a简单计算器源代码集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

简单计算器代码packagecalcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 *@authorFjsh */ publicclassCalcultorThree{ //新建对象,在构造函数中进行初始化 JFrameframe;//新建窗体对象 JButtonbuttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”JButtonbuttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButtonbuttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮 “0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanelpanelwest,panelcenter,paneleast;//新建三个面板 TextFieldtf;//新建文本区域对象 publicCalcultorThree(){ //初始化对象 tf=newTextField(30);//构造空文本字段,字符宽度为30 frame=newJFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

相关主题