Pemberitahuan:

1. Selamat Datang!.

2. Harap Menikmati Ilmu Yang Ada Di Blog Ini.

3. Manfaatkan Dengan Sebaik-baiknya.

4. Terima Kasih Telah Berkunjung ^o^

Program-Program Java

|
Ambil IP

import java.net.*;
public class AmbilIP {
public static void main(String[] args) {
try {
InetAddress ip =
InetAddress.getByName("localhost");
System.out.println(ip.getHostAddress());
System.out.println(ip.getHostName());
}
catch(UnknownHostException e) {
System.out.println(e);
}
}
}


Menu Browser

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Scanner;
public class Browser{
public static void main(String[] args){
try {
BufferedReader input = new BufferedReader(new
InputStreamReader(System.in));
int menu=0;
int pil;
Scanner masuk = new Scanner(System.in);
while(menu==0){
System.out.println("*******************************");
System.out.println("*       M.S Hadi Prasetyo     *");
System.out.println("*******************************");
System.out.println("1. Membuka URL web *");
System.out.println("2. Pencarian Google *");
System.out.println("3. Pencarian Gambar di Google *");
System.out.println("4. Membuka Google Translate *");
System.out.println("5. Batal *");
System.out.print("");
System.out.print("Ketikkan Pilihan Anda:");
pil = masuk.nextInt();
if(pil < 1 || pil > 5){
System.out.print("");
System.out.println("Input Salah Woyy!");
} else if (pil==5){
System.exit(0);}
switch (pil) {
case 1:
String URL = null;
System.out.print("Ketikkan URL yang ingin Anda cari: ");
URL = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create("http://"+URL));
break;
case 2:
String src2 = null;
System.out.print("Ketikkan Kata Pencarian : ");
src2 = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://www.google.co.id/#sclient=psy-ab&q="+ src2));
break;
case 3:
String gmbr3 = null;
System.out.print("Ketikkan Nama Gambar : ");
gmbr3 = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://www.google.co.id/search?site=imghp&tbm=isch&source=hp&biw=1360&bih=642&q="+ gmbr3));
break;
case 4:
java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://translate.google.co.id/?hl=id&tab=wT#"));
break;
}
}
}
catch (Exception ex) {System.out.println("Error");}
}
}



 Chat Client dan Chat Server

- Chat Client
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ChatClient extends JFrame{
JLabel lblPesan = new JLabel ("Kirim Pesan:");
TextArea taPesan = new TextArea(4,50);
JLabel lblBlasan = new JLabel ("Dari Teman:");
TextArea taBlasan = new TextArea(4,50);
JButton btnSend = new JButton("Send");
JButton btnOpen = new JButton("Open Connection");
JButton btnClose = new JButton("Close Connection");
Socket con = null;
ObjectOutputStream toServer;
ObjectInputStream fromServer;
String Blasan = null;
String inputIPServer;

public void openConnection(){
try{
inputIPServer=JOptionPane.showInputDialog("Inputkan IP Server");
con = new Socket(InetAddress.getByName(inputIPServer),2000);
toServer = new ObjectOutputStream(con.getOutputStream());
}
catch(EOFException ex){
;
}
catch(IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public void sendData(){
try{
toServer.writeObject(taPesan.getText());
taPesan.setText("");
taPesan.requestFocus();
}
catch(EOFException ex){
;
}
catch(IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public void getData(){
try{
fromServer = new ObjectInputStream(con.getInputStream());
Blasan = (String) fromServer.readObject();
taBlasan.setText(Blasan);
}
catch(ClassNotFoundException ex){
    System.out.println("Error");
}
catch(EOFException ex){
;
}
catch(IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public void closeConnection(){
try{
toServer.writeObject("bye");
con.close();
con = null;
}
catch (EOFException ex){
;
}
catch (IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public ChatClient(){
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.add(lblPesan);
c.add(taPesan);
c.add(lblBlasan);
c.add(taBlasan);
c.add(btnOpen);
c.add(btnSend);
c.add(btnClose);

btnOpen.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
openConnection();
}
});

btnSend.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
sendData();
getData();
}
});

btnClose.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
closeConnection();
}
});
}

public static void main(String[]args)
{
ChatClient klien = new ChatClient();
klien.setTitle("Chatting - Client");
klien.setLocation(300,300);
klien.setSize(500,200);
klien.setVisible(true);
klien.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
}

- Chat Server 
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ChatServer extends JFrame{
JLabel lblPesan = new JLabel ("Kirim Pesan:");
TextArea taPesan = new TextArea(4,50);
JLabel lblBlasan = new JLabel ("Dari Teman:");
TextArea taBlasan = new TextArea(4,50);
JButton btnSend = new JButton("Send");
JButton btnClose = new JButton("Close Connection");
ServerSocket sktServer;
Socket conClient;

ObjectInputStream fromClient;
ObjectOutputStream toClient;
String s = null;
Container c;

public void sendData(){
try{
toClient = new ObjectOutputStream(conClient.getOutputStream());
toClient.writeObject(taPesan.getText());
System.out.println(taPesan.getText());
taPesan.requestFocus();
}
catch (EOFException ex){
;
}
catch(NullPointerException npe){
JOptionPane.showMessageDialog(null, "Koneksi Belum Tersambung ! ", "Pesan", JOptionPane.ERROR_MESSAGE);
}
catch (SocketException se){
JOptionPane.showMessageDialog(null, "Koneksi Putus !", "Pesan",JOptionPane.ERROR_MESSAGE);
}
catch (IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public void closeConnection(){
try{
conClient.close();
conClient = null;
System.exit(0);
}
catch (EOFException ex){
;
}
catch (IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public ChatServer()throws IOException{
c = getContentPane();
c.setLayout(new FlowLayout());
c.add(lblPesan);
c.add(taPesan);
c.add(lblBlasan);
c.add(taBlasan);
c.add(btnSend);
c.add(btnClose);

btnSend.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
sendData();
}
});

btnClose.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
closeConnection();
}
});
}

public void terimaKoneksi() throws IOException{
sktServer = new ServerSocket(2000);
conClient = sktServer.accept();
JOptionPane.showMessageDialog(null, "Tersambung dengan Client" + conClient.getInetAddress().toString(), "Pesan", JOptionPane.INFORMATION_MESSAGE);
sktServer.close();

try{
fromClient = new ObjectInputStream(conClient.getInputStream());
do{
try{
s=(String) fromClient.readObject();
taBlasan.setText(s);
}
catch(ClassNotFoundException ex){
System.out.println("Error");
}
}
while(!s.equals("bye"));
}
catch (EOFException ex){
;
}
catch (IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
finally{
System.out.println("Closed");
conClient.close();
}
}

public static void main(String[] args) throws IOException{
ChatServer svr = new ChatServer();
svr.setTitle("Chatting - Server");
svr.setLocation(300,300);
svr.setSize(500,250);
svr.setVisible(true);
svr.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
svr.terimaKoneksi();
}
}


DisplayNet
 
 import java.io.*;
import java.net.*;
import java.util.*;
public class DisplayNet {
public static void main(String argv[])
throws Exception
{

//panggil method getNetworkInterface0
//untuk mendapatkan semua antarmuka jaringan
//yang digunakan di computer local
Enumeration e = NetworkInterface.getNetworkInterfaces();
//perulangan untuk mengambil tiap antarmuka jaringan
//hasil da\ri method getNetworkInterface0
while(e.hasMoreElements()) {
NetworkInterface netface = (NetworkInterface)e.nextElement();
System.out.println("Net Interface:"+netface.getName());
//ambil semua informasi alamat IP dari
//tiap antarmuka jaringan
Enumeration e2 = netface.getInetAddresses();
//lakukan perulangan untuk tiap alamat IP dari
//yang didapat pada tiap   antarmuka jaringannya
while(e2.hasMoreElements()) {
InetAddress ip = (InetAddress)e2.nextElement();
System.out.println("IP Address:"+ip.toString());
}
}
}
 
}


Hello World 

 public class hello {

    public static void main (String args [] ){
    System.out.println("Hello World");
    }
}


Info Client dan Info Server

- Info Client
 import java.net.*;
import java.io.*;
import java.util.*;
public class InfoClient {
private final int INFO_PORT = 50000;
private final String TargetHost="localhost";
private final String QUIT ="QUIT";

public InfoClient() {
try {

BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
Socket clientSocket = new Socket(TargetHost, INFO_PORT);

DataOutputStream outToServer = new DataOutputStream( clientSocket.getOutputStream());

BufferedReader inFromServer = new BufferedReader( new InputStreamReader( clientSocket.getInputStream()));

System.out.println(inFromServer.readLine());
System.out.println(inFromServer.readLine());
System.out.println(inFromServer.readLine());
System.out.println("");
boolean isQuit = false;
while (!isQuit) {

System.out.print("Perintah Anda :");
String cmd = inFromUser.readLine();
cmd = cmd.toUpperCase();
if (cmd.equals(QUIT)) {
isQuit = true;
}

outToServer.writeBytes(cmd + "\n");

String result = inFromServer.readLine();
System.out.println("Dari Server :" + result);
}

outToServer.close();
inFromServer.close();
clientSocket.close();
}
catch (IOException ioe) {
System.out.println("Error: " + ioe);
}
catch (Exception e) {
System.out.println("Error:" + e);
}
}

public static void main(String[]args) {
new InfoClient();
}
}

- Info Server 
import java.net.*;
import java.io.*;
import java.util.*;
public class InfoServer {
private final int INFO_PORT= 50000;
private String datafromClient;

public InfoServer (){
BufferedReader inFromClient;
DataOutputStream outToClient;
Socket serverSocket;
try{

ServerSocket infoServer=
new ServerSocket(INFO_PORT);
System.out.println("Menunggu Cinta Darimu~ . . . . ");
while(true){

serverSocket=infoServer.accept();
System.out.println("Ada clien"+"yang terkoneksi !!");
inFromClient=
new BufferedReader(
new InputStreamReader(
serverSocket.getInputStream()));
outToClient=
new DataOutputStream(
serverSocket.getOutputStream());

outToClient.writeBytes("InfoServer versi0.1\n"+"hanya untuk testing..\n"+"Silahkan berikan TIME|NET|QUIT\n");

boolean isQuit = false;
while(!isQuit){

datafromClient = inFromClient.readLine();
if(datafromClient.startsWith("TIME")){
outToClient.writeBytes(new
Date().toString()+"\n");


}else if (datafromClient.startsWith("NET")){
outToClient.writeBytes(
InetAddress.getByName("localhost").toString()+"\n");

} else if (datafromClient.startsWith("QUIT"))
{

isQuit = true;
}
}
outToClient.close();
inFromClient.close();
serverSocket.close();
System.out.println("Teknik Komputer 4CF");
}
}
catch(IOException ioe){
System.out.println("error:"+ioe);
}
catch(Exception e){
System.out.println("error:"+e);
}
}
public static void main(String[]args){
new InfoServer();
}
}
 


Perintah

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Scanner;

public class quis{
public static void main(String[] args){
try {

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
int menu=0;
int pil;
Scanner masuk = new Scanner(System.in);
while(menu==0){
System.out.println("===================");
                System.out.println("========MENU=======");
                System.out.println("===================");
                System.out.println("1. Perintah Shutdown");
                System.out.println("2. Perintah www.Facebook.com");
                System.out.println("3. Exit");
                System.out.println("");
                System.out.println("Masukkan Angka Pilihan Anda");
                System.out.print("Pilih :");

pil = masuk.nextInt();
if(pil<1 || pil<3){
System.out.print("");
System.out.println("Input Benar!!");
} else if(pil==3){
System.exit(0);}

switch (pil) {
case 1:
Runtime rt = Runtime.getRuntime();

                            Process proc;

                            try {
                            proc = rt.exec("CMD /C START Shutdown -s");
                            }
                            catch(Exception e) {
                            System.out.println("Cannot execute application");
}
    break;

case 2:
String src2 = null;

java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://www.facebook.com"));
break;

case 3:
System.exit(0);

}
}
}
catch (Exception ex) {System.out.println("Error");}
}
}
 

 Multichat Client dan Multichat Server 
- Multichat Server
 import java.io.*;
import java.net.*;
import java.util.*;
public class ChatServer {
private static int uniqueld;
private ArrayList<ChatServer.ClientThread> clients;
private int port;
private boolean keepGoing;
public ChatServer() {
this.port=9999;
clients = new ArrayList<>();
}
public void start() {
keepGoing = true;
try {
ServerSocket serverSocket = new ServerSocket(port);
while (keepGoing) {
System.out.println("ChatServer waiting for Clients on port "+port+".");
Socket socket = serverSocket.accept();
if(!keepGoing) {
break;
}
ChatServer.ClientThread t = new ChatServer.ClientThread(socket);
clients.add(t);
t.start();
send("login~"+t.username+"~"+t.username+"sedang login..~Server~\n");
}
try {
serverSocket.close();
for(int i = 0; i<clients.size(); ++i) {
ChatServer.ClientThread tc = clients.get(i);
try {
tc.sInput.close();
tc.sOutput.close();
tc.socket.close();
} catch (IOException ioE) {
}
}
} catch (Exception e) {
System.out.println("Exception closing the server and clients: "+e);
}
} catch (IOException e) {
String msg = "Exception on new ServerSocket: "+e+"\n";
System.out.println(msg);
}
}
private synchronized void send(String message) {
for (int i = clients.size(); --i>=0;) {
ChatServer.ClientThread ct = clients.get(i);
if(!ct.writeMsg(message)) {
clients.remove(i);
System.out.println("Disconnected Client"+ct.username+"removed from list.");
}
}
}
private String getClients() {
String s = "";
for (ClientThread clientThread : clients) {
s+=clientThread.username+":";
}
s+="--";
System.out.println(s);
return s;
}
private synchronized void remove(int id) {
for (int i = 0; i<clients.size(); ++i) {
ChatServer.ClientThread ct = clients.get(i);
if(ct.id == id) {
clients.remove(i);
return;
}
}
}
public static void main(String[] args) {
ChatServer server = new ChatServer();
server.start();
}
private class ClientThread extends Thread {
private Socket socket;
private ObjectInputStream sInput;
private ObjectOutputStream sOutput;
private int id;
private String username;
public ClientThread(Socket socket) {
id = ++uniqueld;
this.socket = socket;
System.out.println("Menciptakan Object Input/Output Streams");
try {
sOutput = new ObjectOutputStream(socket.getOutputStream());
sInput = new ObjectInputStream(socket.getInputStream());
String message = (String) sInput.readObject();
username = message.split("~")[1];
System.out.println(username +"masuk");
} catch (IOException e) {
System.out.println("Exception creating new Input/output Streams: "+e);
} catch (ClassNotFoundException e) {
}
}
@Override
public void run() {
boolean keepGoing = true;
while (keepGoing) {
String message;
try {
message = sInput.readObject().toString();
} catch (IOException e) {
System.out.println(username + "Exception reading Streams: "+e);
break;
} catch (ClassNotFoundException e2) {
break;
}
String type = message.split("~")[0];
String pengirim = message.split("~")[1];
String text = message.split("~")[2];
String kepada = message.split("~")[3];
String response;
switch (type) {
case "postText":
response = "recieveText~"+pengirim+"~"+text+"~"+kepada+"~\n";
send(response);
break;
case "postPrivateText":
response = "receivePrivateText~"+pengirim+"~"+text+"~"+kepada+"~\n";
send(response);
break;
case "login":
response = "login~"+pengirim+"~"+text+"~"+kepada+"~\n";
send(response);
break;
case "logout":
response = "logout~"+pengirim+"~"+text+"~"+kepada+"~\n";
send(response);
break;
case "list":
response = "list-server~"+getClients()+"~~~~~\n";
send(response);
break;
}
}
remove(id);
close();
}
private void close() {
try {
if (sOutput != null) {
sOutput.close();
}
} catch (Exception e) {
}
try {
if (sInput != null) {
sInput.close();
}
} catch (Exception e) {
}
try {
if(socket != null) {
socket.close();
}
} catch (Exception e) {
}
}
private boolean writeMsg(String msg) {
if(!socket.isConnected()) {
close();
return false;
}
try {
sOutput.writeObject(msg);
} catch (IOException e) {
System.out.println("Error sending message to "+username);
System.out.println(e.toString());
}
return true;
}
}
}

- Multichat Client
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.table.DefaultTableModel;

public class ChatClient extends javax.swing.JFrame {
/**
* Creates new form ChatClient
*/
private ObjectInputStream input;
private ObjectOutputStream output;
private Socket socket;
private String server, username;
private int port;
private List<String> clients;



public ChatClient() {

clients = new ArrayList();

initComponents();



}



public boolean start() {

try {

socket = new Socket(server, port);

} catch (Exception ec) {

System.out.println("Error connectiong to server:" + ec);

return false;

}



String msg = "Connection accepted " + socket.getInetAddress() + ":" + socket.getPort();

System.out.println(msg);



try {

input = new ObjectInputStream(socket.getInputStream());

output = new ObjectOutputStream(socket.getOutputStream());

} catch (IOException eIO) {

System.out.println("Exception creating new Input/output Streams: " + eIO);

return false;

}



new ChatClient.ListenFromServer().start();



try {

output.writeObject("login~" + username + "~" + username + " sedang login…~server~\n");

output.writeObject("list~" + username + "~" + username + " sedang login…~server~\n");



} catch (IOException eIO) {

System.out.println("Exception doing login : " + eIO);

disconnect();

return false;

}



return true;

}



private void disconnect() {

try {

// TODO add your handling code here:

output.writeObject("logout~" + username + "~"+ username + " sudah logout…~Server~\n");

} catch (IOException ex) {

//Logger.getLogger(ChatClient.class.getName()).log(Level.SEVERE, null, ex);

}



try {

if (input != null) {

input.close();

}

} catch (Exception e) {

}

try {

if (output != null) {

output.close();

}

} catch (Exception e) {

}

try {

if (socket != null) {

socket.close();

}

} catch (Exception e) {

}

}



/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")


private void initComponents() {



jScrollPane1 = new javax.swing.JScrollPane();

viewTextArea = new javax.swing.JTextArea();

jScrollPane2 = new javax.swing.JScrollPane();

clientTable = new javax.swing.JTable();

postTextField = new javax.swing.JTextField();

kirimButton = new javax.swing.JButton();

lbljpg   = new javax.swing.JLabel(new ImageIcon("Documents:fb.jpg"));

jLabel2 = new javax.swing.JLabel();

serverTextField = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

portTextField = new javax.swing.JTextField();

masukButton = new javax.swing.JButton();

jLabel4 = new javax.swing.JLabel();

usernameTextField = new javax.swing.JTextField();



setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);



viewTextArea.setEditable(false);

viewTextArea.setColumns(20);

viewTextArea.setLineWrap(true);

viewTextArea.setRows(5);

viewTextArea.setFocusable(false);

jScrollPane1.setViewportView(viewTextArea);



jScrollPane2.setViewportView(clientTable);



postTextField.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

postTextFieldActionPerformed(evt);

}

});



kirimButton.setText("Kirim");

kirimButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

kirimButtonActionPerformed(evt);

}

});



jLabel2.setText("Server");



serverTextField.setText("10.17.0.0");



jLabel3.setText("Port");



portTextField.setText("9999");



masukButton.setText("Masuk");

masukButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

masukButtonActionPerformed(evt);

}

});



jLabel4.setText("Username");



usernameTextField.setText("4 CF");



javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addComponent(postTextField)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(kirimButton))

.addComponent(jScrollPane1))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addComponent(lbljpg)

.addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(serverTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jLabel3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(portTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jLabel4)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(usernameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(masukButton)))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(lbljpg)

.addComponent(jLabel2)

.addComponent(serverTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel3)

.addComponent(portTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(masukButton)

.addComponent(jLabel4)

.addComponent(usernameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 427, Short.MAX_VALUE)

.addGroup(layout.createSequentialGroup()

.addComponent(jScrollPane1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(postTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(kirimButton))))

.addContainerGap())

);



pack();

}// </editor-fold>



private void masukButtonActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

this.server = serverTextField.getText();

this.port = new Integer(portTextField.getText());

this.username = usernameTextField.getText();

start();

}



private void kirimButtonActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try {

String message = "postText~" + username + "~" + postTextField.getText() + "~all~\n";

output.writeObject(message);

postTextField.setText("");

} catch (IOException ex) {

Logger.getLogger(ChatClient.class.getName()).log(Level.SEVERE, null, ex);

}

}



private void postTextFieldActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

kirimButtonActionPerformed(evt);

}



/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>



/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

@Override

public void run() {



new ChatClient().setVisible(true);

}

});

}

// Variables declaration – do not modify

private javax.swing.JTable clientTable;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JButton kirimButton;

private javax.swing.JButton masukButton;

private javax.swing.JTextField portTextField;

private javax.swing.JTextField postTextField;

private javax.swing.JTextField serverTextField;

private javax.swing.JTextField usernameTextField;

private javax.swing.JTextArea viewTextArea;

private JLabel lbljpg ;

// End of variables declaration



class ListenFromServer extends Thread {



@Override

public void run() {

while (true) {

try {

String msg = (String) input.readObject();

String res;

String type = msg.split("~")[0];

String pengirim = msg.split("~")[1];

String text = msg.split("~")[2];

String kepada = msg.split("~")[3];

switch (type) {

case "recieveText":

res = pengirim + ": " + text;

viewTextArea.setText(viewTextArea.getText() + res + "\n");

break;

case "recievePrivateText":

res = pengirim + ": "+ text;

if (kepada.equals(username)) {

viewTextArea.setText(viewTextArea.getText() + res + "\n");

}

break;

case "login":

viewTextArea.setText(viewTextArea.getText() + pengirim + " sudah login…" + "\n");

clients.add(pengirim);

break;

case "logout":

viewTextArea.setText(viewTextArea.getText() + pengirim + " telah logout…" + "\n");

clients.remove(pengirim);

break;

case "list":

setTable(text);

break;

}

} catch (IOException e) {

System.out.println("Server has close the connection: " + e);

break;

} catch (ClassNotFoundException e2) {

}

}

}



private void setTable(String text) {

int rows = text.split(":").length  -1;

Object[][] data = new Object[rows][1];

for (int i = 0; i < rows; i++) {

String t = text.split(":")[i];

data[i][0] = t;

}



String[] header = {"Clients"};



clientTable.setModel(new DefaultTableModel(data, header));

}

}

}


 

0 komentar:

Post a Comment

Prev
▲Top▲