MyEclipse 如何用java 开发C/S程序,最好给个简单的例子 先谢谢了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyEclipse 如何用java 开发C/S程序,最好给个简单的例子 先谢谢了相关的知识,希望对你有一定的参考价值。

package com.java.MyNotepad;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.filechooser.FileNameExtensionFilter;
import com.java.find.FindString;
public class MyNotepad
private JFrame f;
public static JTextArea ta;
private JMenuBar mb;
private JMenu fileMenu, edit, FColor, help;
private JMenuItem mOpenFile, mSave, mExit, mFind, fRed, fGreen, fBlack,
fGray, fBlue, mAbout;
private String[] fontTypeStr = "宋体", "华文行楷", "隶书", "华文彩云", "华文新魏",
"华文琥珀", "幼圆", "楷书" ;
private String fontStyleStr[] = "常规", "倾斜", "粗体", "倾斜+粗体" ;
private String fontSizeStr[] = "13", "15", "20", "30", "40", "50", "60",
"70", "80", "100", "120", "150", "200", "300", "400", "500", "700",
"1000", "1500", "2000", "4000" ;
private JComboBox fontt = new JComboBox(fontTypeStr);
private JComboBox fontStyle = new JComboBox(fontStyleStr);
private JComboBox fontSize = new JComboBox(fontSizeStr);
// 文件对话框
private JFileChooser Chooser;
private File file;
private int flag;
private BufferedReader br;
private BufferedWriter bw;
private FileNameExtensionFilter filter;
private int fileNum = 1;
private FindString fs;
public void initialized()
f = new JFrame("MyNotepad");
// 多行文本框
ta = new JTextArea();
ta.addKeyListener(new Process());
// 滚动条
JScrollPane jsp = new JScrollPane(ta);
// 元素
fontt.addItemListener(new Process());
fontStyle.addItemListener(new Process());
fontSize.addItemListener(new Process());
mOpenFile = new JMenuItem("Open");
mOpenFile.addActionListener(new Process());
mSave = new JMenuItem("Save to...");
mSave.addActionListener(new Process());
mExit = new JMenuItem("Exit");
mExit.addActionListener(new Process());
mFind = new JMenuItem("Find");
mFind.addActionListener(new Process());
fRed = new JMenuItem("Red");
fRed.addActionListener(new Process());
fGreen = new JMenuItem("Green");
fGreen.addActionListener(new Process());
fBlack = new JMenuItem("Black");
fBlack.addActionListener(new Process());
fGray = new JMenuItem("Gray");
fGray.addActionListener(new Process());
fBlue = new JMenuItem("Blue");
fBlue.addActionListener(new Process());
mAbout = new JMenuItem("About");
mAbout.addActionListener(new Process());
// 菜单列表元素
fileMenu = new JMenu("File");
edit = new JMenu("Edit");
FColor = new JMenu("Font Color");
help = new JMenu("Help");
// 菜单
mb = new JMenuBar();
// 添加组件
fileMenu.add(mOpenFile);
fileMenu.add(mSave);
fileMenu.add(mExit);
fileMenu.setForeground(Color.WHITE);
edit.add(mFind);
edit.setForeground(Color.WHITE);
help.add(mAbout);
help.setForeground(Color.WHITE);
FColor.add(fRed);
FColor.add(fGreen);
FColor.add(fBlack);
FColor.add(fGray);
FColor.add(fBlue);
FColor.setForeground(Color.WHITE);
mb.add(fileMenu);
mb.add(edit);
mb.add(FColor);
mb.add(help);
mb.add(fontt);
mb.add(fontStyle);
mb.add(fontSize);
mb.setBackground(Color.gray);
ta.setBackground(Color.LIGHT_GRAY);
ta.setForeground(Color.black);
f.add(mb, BorderLayout.NORTH);
f.add(jsp, BorderLayout.CENTER);
f.setLocation(400, 200);
f.setSize(800, 450);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);

这是写记事本中的界面代码,功能代码没有贴上来,要不你看着感觉复杂了。。。如果要源码可以留邮箱,运行这段代码直接写个main函数实例化一个该类对象,调用initialized方法

追问

1113441497@qq.com 谢谢 只要有一个功能就行 我看网上用MyEclipse 开发C/S程序 需要下载插件?要用到哪些重要的包类?

追答

网上说的插件应该是用于快速开发的,所有的组件都是自动生成,用鼠标托放的,代码自动生成,在大多数情况下会生成一部分垃圾代码,我这里所有的组件都是用手动new出来的,在开发C/S程序时,JAVA并不需要下载其它的什么包类,在JDK中自己存在所有的组件类。好了,程序已发送。

参考技术A server.java
public class Server extends JFrame
private JTextArea jta=new JTextArea();
public static void main(String[]args)
new Server();

public Server()

setLayout(new BorderLayout());
add(new JScrollPane(jta),BorderLayout.CENTER);

setTitle("Server");
setSize(500,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
try

ServerSocket serverSocket=new ServerSocket(8000);
jta.append("Server started at"+new Date()+'\n');
Socket socket=serverSocket.accept();
DataInputStream inputFromClient=new DataInputStream(socket.getInputStream());
DataOutputStream outputToClient=new DataOutputStream(socket.getOutputStream());
while(true)

double radius=inputFromClient.readDouble();
double area=radius*radius*Math.PI;
outputToClient.writeDouble(area);
jta.append("Radius received from client"+radius+'\n');
jta.append("Area found:"+area+'\n');



catch(Exception e)

System.out.println(e);




client.java
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Client extends JFrame
private JTextField jtf=new JTextField();
private JTextArea jta=new JTextArea();
private DataOutputStream toServer;
private DataInputStream fromServer;
public static void main(String[]args)
new Client();


public Client()

JPanel p=new JPanel();
p.setLayout(new BorderLayout());
p.add(new JLabel("Enter radius"),BorderLayout.WEST);
p.add(jtf,BorderLayout.CENTER);
jtf.setHorizontalAlignment(JTextField.RIGHT);
setLayout(new BorderLayout());
add(p,BorderLayout.NORTH);
add(new JScrollPane(jta),BorderLayout.CENTER);
jtf.addActionListener(new ButtonListener());
setTitle("Client");
setSize(500,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
try

Socket socket=new Socket("localhost",8000);
fromServer=new DataInputStream(socket.getInputStream());
toServer=new DataOutputStream(socket.getOutputStream());

catch(Exception e)

e.printStackTrace();


private class ButtonListener implements ActionListener


@Override
public void actionPerformed(ActionEvent e)
try

double radius=Double.parseDouble(jtf.getText().trim());
toServer.writeDouble(radius);
toServer.flush();
double area=fromServer.readDouble();
jta.append("Radius is"+radius+"\n");
jta.append("Area received from the server is"+area+'\n');

catch(Exception ex)

System.out.println(ex);






追问

您好 我想问下 这个出来时什么效果的?我现在没法测试,希望您能给我发个截图

如何用java打印mysql数据库

     应该是连接数据库吧,这是连接数据库的步骤:    

    在开发环境中加载指定数据库的驱动程序。

  接下来的实验中,使用数据库MySQL,所以需要下载MySQL支持JDBC的驱动程序(mysql-connector-java-5.1.18-bin.jar)。

  

  2. 开发环境是MyEclipse,将下载得到的驱动程序加载进开发环境中。

  

  3. 在Java程序中加载驱动程序。

  

  在Java程序中,通过 “Class.forName(“指定数据库的驱动程序”)”

  

  方式来加载添加到开发环境中的驱动程序,例如Class.forName(“com.mysql.jdbc.Driver”)。

  

  4. 创建数据连接对象:通过DriverManager类创建数据库连接对象Connection。

  

  DriverManager类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL、用户名和密码,创建一个JDBC

  

  Connection 对象。代码如:Connection connection =  DriverManager.getConnection(“连接数据库的URL", "用户名",

  

  "密码”)。

  

  其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:

  

  Connection connectMySQL  =

  

  DriverManager.geiConnection(“jdbc:mysql://localhost:3306/myuser","root"

  

  ,"root" );

  

  5. 创建Statement对象:Statement 类的主要是用于执行静态 SQL

  

  语句并返回它所生成结果的对象。

  

  通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament =

  

  connection.createStatement(); 具体示例创建Statement对象代码如下:Statement statamentMySQL =connectMySQL.createStatement();

  

  6. 调用Statement对象的相关方法执行相对应的 SQL

  

  语句:通过execuUpdate()方法用来数据的更新,包括插入和删除等操作,例如向staff表中插入一条数据的代码:

  

  statement.excuteUpdate( "INSERT INTO

  

  staff(name, age, sex,address, depart, worklen,wage)" + " VALUES ('Tom1', 321,

  

  'M', 'china','Personnel','3','3000' ) ") ;

  

  7. 通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到

  

  ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:

  

  ResultSet resultSel =

  

  statement.executeQuery( "select * from staff" );

  

  8. 关闭数据库连接:使用完数据库或者不需要访问数据库时,通过Connection的close() 方法及时关闭数据连接。

参考技术A 打印数据库是什么意思啊?

以上是关于MyEclipse 如何用java 开发C/S程序,最好给个简单的例子 先谢谢了的主要内容,如果未能解决你的问题,请参考以下文章

如何用IDEA一步一步开发WebService客户端程序

如何用C/C++开发一个web应用(Windows)?

如何用java开发一个web系统

Myeclipse 如何用java 写sqlserver 的批量插入?

如何用myeclipse编写webservice 接口

在MyEclipse中如何用查看引用的jar包中的class文件的java源代码