標籤:java培訓 文字框 false 資訊 左右
預設的布局 : FlowLayout
Button
button.setLabel("取消");//設定按鈕上的文本
// button.setEnabled(b);//設定是否可點擊
// String actionCommand = button.getActionCommand();//擷取控制項的資訊
// System.out.println(actionCommand);
Lable
label.setText("1123");//設定文本
label.getText();//擷取文本
TextField 文字框
field.setEchoChar(‘*‘); //把輸入內容以‘*‘的形式體現
field.setEditable(false); //設定是否可輸入
field.setEnabled(false);//設定是否可操作
三個常見布局管理器
1、FlowLayout 流線型布局
frame.setLayout(new FlowLayout());//預設置中對齊 ,左右、上下間隔5
frame.setLayout(new FlowLayout(FlowLayout.LEFT));//設定靠左對齊 ,左右、上下間隔5
frame.setLayout(new FlowLayout(FlowLayout.LEFT,20,40));//設定靠左對齊 ,左右、上下間隔5
2、BorderLayout 邊界布局
東西南北中
StrinBuffer
StringBuilder
網路編程
網站編程
IP
192.168.1.1
A
1~126.0.0.0
B
128~191.XXX.0.0
C
192~255.xxx.xxx.0
255.255.255.0
TCP協議是一個連線導向的、可靠的協議 TCP(transmission control protocol) 是專門設計用於在不可靠的網際網路上提供可靠的、端到端的位元組流通訊的協議。它是一種連線導向的協議。TCP串連是位元組流而非報文流。
TCP 三向交握
對方建立可靠的串連。一個TCP串連必須要經過三次“對話”才能建立起來,其中的過程非常複雜,只簡單的描述下這三次對話的簡單過程:主機A向主機B發出串連請求資料包:“我想給你發資料,可以嗎?”,這是第一次對話;主機B向主機A發送同意串連和要求同步(同步就是兩台主機一個在發送,一個在接收,協調工作)的資料包:“可以,你什麼時候發?”,這是第二次對話;主機A再發出一個資料包確認主機B的要求同步:“我現在就發,你接著吧!”,這是第三次對話。三次“對話”的目的是使資料包的發送和接收同步,經過三次“對話”之後,主機A才向主機B正式發送資料。
UDP協議是一個不可靠的、無連線協定 UDP(user datagram protocol ) UDP嚮應用程式提供了一種發送封裝的原始IP資料報的方法、並且發送時無需建立串連。是一種不可靠的串連
Socket
package com.xinboedu. www.Test1;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TestServer
{
static boolean isAlive = true;
/**
* @param args
*/
public static void main(String[] args)
{
try
{
ServerSocket ss = new ServerSocket(6666);
while(isAlive)
{
Socket socket = ss.accept();
new ClienThread(socket).start();
}
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class ClienThread extends Thread
{
private Socket socket;
private DataOutputStream dos;
private DataInputStream dis;
public ClienThread(Socket socket)
{
this.socket = socket;
try
{
dos = new DataOutputStream(socket.getOutputStream());
dis = new DataInputStream(socket.getInputStream());
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void run()
{
try
{
while(true)
{
String str = dis.readUTF();
System.out.println(str);
dos.writeUTF("Server:收到!!");
}
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
try
{
socket.close();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package com.xinboedu. www.Test1;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class TestClient
{
static String name = "A";
/**
* @param args
*/
public static void main(String[] args)
{
// DataOutputStream dos;
DataInputStream dis;
try
{
Socket socket = new Socket("127.0.0.1", 6666);
// dos = new DataOutputStream(socket.getOutputStream());
dis = new DataInputStream(socket.getInputStream());
new OutThread(socket).start();
while(true)
{
String readUTF = dis.readUTF();
System.out.println(readUTF);
}
} catch (UnknownHostException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class OutThread extends Thread
{
private DataOutputStream dos;
private Scanner scanner;
private Socket socket;
@SuppressWarnings("resource")
public OutThread( Socket socket)
{
this.socket = socket;
try
{
dos = new DataOutputStream(socket.getOutputStream());
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
scanner = new Scanner(System.in);
}
@Override
public void run()
{
try
{
while(true)
{
String next = scanner.next();
if("over".equalsIgnoreCase(next))
{
break;
}
dos.writeUTF(TestClient.name + ":" + next);
}
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
try
{
socket.close();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
UDP
接收方:
package com.xinboedu. www.Test;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class TestReciver
{
public static void main(String[] args)
{
try
{
DatagramSocket ds = new DatagramSocket(3333);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf , buf.length);
ds.receive(dp);
String string = new String(dp.getData(),0,dp.getLength());
System.out.println(string);
} catch (SocketException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
發送方:
package com.xinboedu. www.Test;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class TestSend
{
public static void main(String[] args)
{
try
{
DatagramSocket ds = new DatagramSocket();
String str = "asdfasdfasdfasdf";
byte[] bytes = str.getBytes();
DatagramPacket dp =
new DatagramPacket( bytes,
bytes.length,
InetAddress.getByName("127.0.0.1"),
3333);
ds.send(dp);
} catch (SocketException e)
{
e.printStackTrace();
} catch (UnknownHostException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
TCP
Socket
可靠 ,長串連
Http
可靠,短連結
一次請求,回應結束,串連斷開
URL 統一資源定位器
get post
www.baidu.com
http://192.168.1.1:8080?ww=1&wq=2
package com.xinboedu. www.Test;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class TestHttp
{
/**
* @param args
*/
public static void main(String[] args)
{
String path = " http://localhost:8080/day17.zip";
String str = "E:\\day.zip";
InputStream is = null;
FileOutputStream fos = null;
try
{
URL url = new URL(path);
URLConnection openConnection = url.openConnection();
openConnection.setConnectTimeout(1000);//設定連線逾時時間
openConnection.setReadTimeout(1000);//設定讀取逾時時間
is = openConnection.getInputStream();
fos = new FileOutputStream(str);
byte[] b = new byte[1024];
int len = 0;
while(-1 != (len = is.read(b )))
{
fos.write(b, 0, len);
}
fos.flush();
} catch (MalformedURLException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}finally
{
if(is != null)
{
try
{
is.close();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fos != null)
{
try
{
fos.close();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
Java培訓第四次小結