JAVA GUI 계산기 소스코드

Programming/JAVA,JSP 2013. 12. 22. 17:55 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.JButton;


/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */


/**

 * 

 * @author Administrator

 */

public class NewJFrame extends javax.swing.JFrame implements ActionListener {


/**

* Creates new form NewJFrame

*/

public NewJFrame() {

initComponents();

toDo();

}


private void toDo() {

// TODO Auto-generated method stub

jButton2.addActionListener(this);

jButton3.addActionListener(this);

jButton4.addActionListener(this);

jButton5.addActionListener(this);

jButton6.addActionListener(this);

jButton7.addActionListener(this);

jButton8.addActionListener(this);

jButton9.addActionListener(this);

jButton10.addActionListener(this);

jButton13.addActionListener(this);

jButton14.addActionListener(this);

jButton15.addActionListener(this);

jButton16.addActionListener(this);

jButton17.addActionListener(this);

jButton18.addActionListener(this);

}


@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {


jButton2 = new javax.swing.JButton();

jTextField3 = new javax.swing.JTextField();

jButton3 = new javax.swing.JButton();

jButton4 = new javax.swing.JButton();

jButton7 = new javax.swing.JButton();

jButton5 = new javax.swing.JButton();

jButton6 = new javax.swing.JButton();

jButton8 = new javax.swing.JButton();

jButton9 = new javax.swing.JButton();

jButton10 = new javax.swing.JButton();

jButton13 = new javax.swing.JButton();

jButton14 = new javax.swing.JButton();

jButton15 = new javax.swing.JButton();

jButton16 = new javax.swing.JButton();

jButton17 = new javax.swing.JButton();

jButton18 = new javax.swing.JButton();

jToggleButton1 = new javax.swing.JToggleButton();


setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);


jTextField3.setText("");


jButton2.setText("1");


jButton3.setText("2");


jButton4.setText("3");


jButton5.setText("4");


jButton6.setText("5");


jButton7.setText("6");


jButton8.setText("7");


jButton9.setText("8");


jButton10.setText("9");


jButton13.setText("0");


jButton14.setText("+");


jButton15.setText("/");


jButton16.setText("x");


jButton17.setText("-");


jButton18.setText("=");


jToggleButton1.setText("jToggleButton1");


javax.swing.GroupLayout layout = new javax.swing.GroupLayout(

getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout

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

.addComponent(jTextField3)

.addGroup(

layout.createSequentialGroup()

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(

layout.createSequentialGroup()

.addComponent(

jButton5)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton6)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton7))

.addGroup(

layout.createSequentialGroup()

.addComponent(

jButton2)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton3)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton4)))

.addGroup(

layout.createSequentialGroup()

.addComponent(

jButton9)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(

jButton13)

.addGroup(

layout.createSequentialGroup()

.addComponent(

jButton10)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton8)))))

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

layout.createSequentialGroup()

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(

jButton16)

.addComponent(

jButton15))

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton18))

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(

jButton17)

.addComponent(

jButton14)))

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED,

javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(jToggleButton1,

javax.swing.GroupLayout.PREFERRED_SIZE,

70,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap()));

layout.setVerticalGroup(layout

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

.addGroup(

layout.createSequentialGroup()

.addComponent(jTextField3,

javax.swing.GroupLayout.PREFERRED_SIZE,

70,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING,

false)

.addGroup(

layout.createSequentialGroup()

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(

jButton2)

.addComponent(

jButton3)

.addComponent(

jButton4))

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(

jButton5)

.addComponent(

jButton6)

.addComponent(

jButton7))

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(

layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(

jButton9)

.addComponent(

jButton10)

.addComponent(

jButton8))

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton13))

.addGroup(

layout.createSequentialGroup()

.addComponent(

jButton14)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton17)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton16)

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(

jButton15))

.addComponent(

jButton18,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(

jToggleButton1,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

.addContainerGap(

javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)));


pack();

}// </editor-fold>


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(NewJFrame.class.getName()).log(

java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(

java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(

java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(

java.util.logging.Level.SEVERE, null, ex);

}

// </editor-fold>


/* Create and display the form */

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

public void run() {

new NewJFrame().setVisible(true);

}

});

}


// Variables declaration - do not modify

private javax.swing.JButton jButton10;

private javax.swing.JButton jButton13;

private javax.swing.JButton jButton14;

private javax.swing.JButton jButton15;

private javax.swing.JButton jButton16;

private javax.swing.JButton jButton17;

private javax.swing.JButton jButton18;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton3;

private javax.swing.JButton jButton4;

private javax.swing.JButton jButton7;

private javax.swing.JButton jButton5;

private javax.swing.JButton jButton6;

private javax.swing.JButton jButton8;

private javax.swing.JButton jButton9;

private javax.swing.JTextField jTextField3;

private javax.swing.JToggleButton jToggleButton1;


// End of variables declaration

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

if (arg0.getSource() == jButton2) {

jTextField3.setText(jTextField3.getText() + 1);

} else if (arg0.getSource() == jButton3) {

jTextField3.setText(jTextField3.getText() + "2");

} else if (arg0.getSource() == jButton4) {

jTextField3.setText(jTextField3.getText() + "3");

} else if (arg0.getSource() == jButton7) {

jTextField3.setText(jTextField3.getText() + "4");

} else if (arg0.getSource() == jButton5) {

jTextField3.setText(jTextField3.getText() + "5");

} else if (arg0.getSource() == jButton6) {

jTextField3.setText(jTextField3.getText() + "6");

} else if (arg0.getSource() == jButton8) {

jTextField3.setText(jTextField3.getText() + "7");

} else if (arg0.getSource() == jButton9) {

jTextField3.setText(jTextField3.getText() + "8");

} else if (arg0.getSource() == jButton10) {

jTextField3.setText(jTextField3.getText() + "9");

} else if (arg0.getSource() == jButton13) {

jTextField3.setText(jTextField3.getText() + "0");

} else if (arg0.getSource() == jButton14) {// +

tempValue = Integer.parseInt(jTextField3.getText());

operator = '+';

jTextField3.setText("");

} else if (arg0.getSource() == jButton15) {// /

tempValue = Integer.parseInt(

jTextField3.getText());

operator = '/';

jTextField3.setText("");

} else if (arg0.getSource() == jButton16) {// x

tempValue = Integer.parseInt(jTextField3.getText());

operator = '*';

jTextField3.setText("");

} else if (arg0.getSource() == jButton17) {// -

tempValue = Integer.parseInt(jTextField3.getText());

operator = '-';

jTextField3.setText("");

} else if (arg0.getSource() == jButton18) {// -

int tempValue2 = Integer.parseInt(

jTextField3.getText());

int resultValue = 0;

if (operator == '+') {

resultValue = tempValue + tempValue2;

} else if (operator == '-') {

resultValue = tempValue - tempValue2;

} else if (operator == '*') {

resultValue = tempValue * tempValue2;

} else if (operator == '/') {

resultValue = tempValue / tempValue2;

}

jTextField3.setText("" + resultValue);

}

}


int tempValue;

char operator;

}



'Programming > JAVA,JSP' 카테고리의 다른 글

Calendar #1  (0) 2013.12.31
JAVA 파일 검색 코드  (0) 2013.12.28
JAVA 소수를 구하는 프로그램 GUI #2  (0) 2013.12.21
JAVA 소수를 판단하는 GUI 프로그램  (0) 2013.12.21
JAVA 버블 정렬  (0) 2013.11.30
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

 

class MyFrame extends JFrame {

   private JButton button;

   private JTextField text, result;

 

   public MyFrame() {

       setSize(300, 130);

       setTitle("제곱 계산하기");

   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

       ButtonListener listener = new ButtonListener(); // 리스너 객체 생성

 

       JPanel panel = new JPanel();

       panel.add(new JLabel("숫자 입력: ")); // 레이블 생성

       text = new JTextField(15); // 컬럼수가 15 텍스트 필드 생성

       text.addActionListener(listener); // 텍스트 필드에 리스너 연결

       panel.add(text);

 

       panel.add(new JLabel("제곱한 : "));

       result = new JTextField(15); // 결과를 나타낼 텍스트 필드

       result.setEditable(false); // 편집 불가 설정

       panel.add(result);

       button = new JButton("OK");

       button.addActionListener(listener);

       panel.add(button);

       add(panel);

       setVisible(true);

   }

 

   // 텍스트 필드와 버튼의 액션 이벤트 처리

   private class ButtonListener implements ActionListener {

       public void actionPerformed(ActionEvent e) {

          if (e.getSource() == button || e.getSource() == text) {

             String name = text.getText();

             int value = 0;

             try {

                value = Integer.parseInt(name);

 

                 boolean isPrimeNumber = false;

 

                 // 계산

                 int count = 0;

                 for (int i = 1; i <= value; i++) {

                    // 계산

                    if (value % i == 0) {

                       count++;

                    }

 

                 }

 

                 if (count == 2) {

                    isPrimeNumber = true;

                 }

 

                 if (isPrimeNumber) {

                    result.setText("소수입니다.");

                 } else {

                    result.setText("소수가 아닙니다.");

                 }

            } catch (NumberFormatException e1) {

                 result.setText("숫자를 입력해주세요!!");

             }

             text.requestFocus();

          }

       }

   }

}

 

public class TextFieldTest extends JFrame {

   public static void main(String[] args) {

       new MyFrame();

   }

}

 

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 파일 검색 코드  (0) 2013.12.28
JAVA GUI 계산기 소스코드  (0) 2013.12.22
JAVA 소수를 판단하는 GUI 프로그램  (0) 2013.12.21
JAVA 버블 정렬  (0) 2013.11.30
JAVA JTable 실습 예제  (0) 2013.08.24
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import javax.swing.*;

import java.awt.event.*;

 

class MyFrame extends JFrame {

       private JButton button;

       private JTextField text, result;

 

       public MyFrame() {

             setSize(300, 130);

             setTitle("제곱 계산하기");

             setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

             ButtonListener listener = new ButtonListener();   // 리스너 객체 생성

            

             JPanel panel = new JPanel();

             panel.add(new JLabel("숫자 입력: "));    // 레이블 생성

             text = new JTextField(15);       // 컬럼수가 15 텍스트 필드 생성

             text.addActionListener(listener);   // 텍스트 필드에 리스너 연결

             panel.add(text);

 

             panel.add(new JLabel("제곱한 : "));

             result = new JTextField(15); // 결과를 나타낼 텍스트 필드 

             result.setEditable(false);       // 편집 불가 설정

             panel.add(result);

           button = new JButton("OK");

           button.addActionListener(listener);

           panel.add(button);

           add(panel);

           setVisible(true);

     }

     // 텍스트 필드와 버튼의 액션 이벤트 처리

     private class ButtonListener implements ActionListener {

           public void actionPerformed(ActionEvent e) {

                  if (e.getSource() == button || e.getSource() == text) {

                         String name = text.getText();

                         int value = Integer.parseInt(name);

                         boolean isPrimeNumber = false;

                        

                         // 계산

                         int count = 0;

                         for( int i = 1 ; i <= value ; i++)

                         {

                         //계산

                         if( value % i == 0)

                         {

                             count++;

                         }

                         

                         }

                        

                         if(count == 2)

                         {

                         isPrimeNumber = true;

                         }

                         

                         if(isPrimeNumber)

                         {

                         result.setText("소수입니다.");

                         }

                         else

                         {

                         result.setText("소수가 아닙니다.");

                         }

                                                 

                         text.requestFocus();

                  }

           }

     }

}

public class TextFieldTest extends JFrame {

     public static void main(String[] args) {

           new MyFrame();

     }

}

 

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA GUI 계산기 소스코드  (0) 2013.12.22
JAVA 소수를 구하는 프로그램 GUI #2  (0) 2013.12.21
JAVA 버블 정렬  (0) 2013.11.30
JAVA JTable 실습 예제  (0) 2013.08.24
JAVA 채팅 프로그램 소스  (0) 2013.08.23

JAVA 버블 정렬

Programming/JAVA,JSP 2013. 11. 30. 16:57 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

package com.tistory.tansanc.mainClass;

 

import java.util.Scanner;

 

public class ComputerTest {

   public static void main(String[] args) {

       int[] array = { 3, 9, 7, 1, 2, 5 };

       // { 3, 7, 1, 2, 5, 9 };

       // { 3, 1, 2, 5, 7, 9 };

       // { 1, 2, 3, 5, 7, 9 };

       int i, j;

      

      for( j = 0 ; j < array.length - 1; j++ )

       {

          for( i = 0 ; i < array.length - j - 1;

                 i++ )

          {

             if ( array[i] > array[i+1] )

             {

                 int temp = array[i];

                 array[i] = array[i+1];

                 array[i+1] = temp;

             }           

          }

       }

       for( i = 0 ; i < array.length ; i++ )

       {     

          System.out.println(array[i]);

       }

   }

}

 

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 소수를 구하는 프로그램 GUI #2  (0) 2013.12.21
JAVA 소수를 판단하는 GUI 프로그램  (0) 2013.12.21
JAVA JTable 실습 예제  (0) 2013.08.24
JAVA 채팅 프로그램 소스  (0) 2013.08.23
JAVA 채팅 클라이언트  (0) 2013.08.23

JAVA JTable 실습 예제

Programming/JAVA,JSP 2013. 8. 24. 12:07 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

package com.tansanc.tistory;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;

class Info
{
	public String title;
	public String publisher;
	public String year;
	public int price;
	public long contentLength = 0L;

	public Info(String title, String publisher, String year, int price)
	{
		this.title = title;
		this.publisher = publisher;
		this.year = year;
		this.price = price;
	}
}

class InfoTableModel extends AbstractTableModel
{
	private static final long serialVersionUID = 7932826462497464190L;
	public ArrayList pages;

	public InfoTableModel()
	{
		pages = new ArrayList();
	}

	public int getColumnCount()
	{
		return 4;
	}

	public int getRowCount()
	{
		return pages.size();
	}

	public void addInfo(Info page)
	{
		int idx = pages.size();
		pages.add(page);
		fireTableRowsInserted(idx, idx); // 반드시 호출해야한다.
	}

	public Object getValueAt(int rowIndex, int columnIndex)
	{
		Info info = pages.get(rowIndex);
		switch (columnIndex)
		{
		case 0:
			return info.title;
		case 1:
			return info.publisher;
		case 2:
			return info.year;
		case 3:
			return info.price;
		case 4:
			return info.contentLength;
		default:
			return "invalid";
		}
	}
}

class myFrame extends JFrame
{
	JTable table;

	public myFrame()
	{
		// TODO Auto-generated constructor stub
		setSize(600, 400);
		setVisible(true);

		InfoTableModel model = new InfoTableModel();
		TableColumnModel columnModel = new DefaultTableColumnModel();
		TableCellRenderer renderer = new DefaultTableCellRenderer(); // 기본구현
		model.addInfo(new Info("1", "1", "1", 50000));

		try
		{
			Connection con = ConnectDatabase.makeConnection();
			Statement stmt;
			stmt = con.createStatement();
			ResultSet rs = stmt.executeQuery("SELECT * FROM books");
			while (rs.next())
			{
				int book_id = rs.getInt("book_id");
				String title = rs.getString("title");
				String publisher = rs.getString("publisher");
				String year = rs.getString("year");
				int price = rs.getInt("price");
				System.out.println(title + publisher + year + price);
				model.addInfo(new Info(title, publisher, year, price));
			}

		} catch (SQLException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("done");
		TableColumn column = new TableColumn(0);
		column.setCellRenderer(renderer); // 이렇게 하지 않아도 알아서 제공된다.
		column.setHeaderValue("title");
		columnModel.addColumn(column);

		column = new TableColumn(1);
		column.setHeaderValue("publisher");
		columnModel.addColumn(column);

		column = new TableColumn(2);
		column.setHeaderValue("year");
		columnModel.addColumn(column);

		column = new TableColumn(3);
		column.setHeaderValue("price");
		columnModel.addColumn(column);

		table = new JTable(model, columnModel);
		add(table);
	}

}

public class ConnectDatabase
{
	public static Connection makeConnection()
	{
		String url = "jdbc:mysql://localhost/book_db";
		String id = "root";
		String password = "root";
		Connection con = null;
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("드라이버 적재 성공");
			con = DriverManager.getConnection(url, id, password);
			System.out.println("데이터베이스 연결 성공");
		} catch (ClassNotFoundException e)
		{
			System.out.println("드라이버를 찾을 수 없습니다.");
		} catch (SQLException e)
		{
			System.out.println("연결에 실패하였습니다.");
		}
		return con;
	}

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


'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 소수를 판단하는 GUI 프로그램  (0) 2013.12.21
JAVA 버블 정렬  (0) 2013.11.30
JAVA 채팅 프로그램 소스  (0) 2013.08.23
JAVA 채팅 클라이언트  (0) 2013.08.23
JAVA 계산기 프로그램 부분완성  (0) 2013.08.16

JAVA 채팅 프로그램 소스

Programming/JAVA,JSP 2013. 8. 23. 14:09 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

클라이언트


import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.TextArea;

import java.awt.TextField;

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.PrintWriter;

import java.net.Socket;

import java.nio.ByteOrder;


import javax.swing.JFrame;


class MyFrame extends JFrame implements ActionListener

{

public TextField tf;

public TextArea ta;

PrintWriter out;

public MyFrame(PrintWriter out)

{

this.out = out;

tf = new TextField();

ta = new TextArea();

setSize(600, 400);

setVisible(true);

add(tf, BorderLayout.SOUTH);

add(ta, BorderLayout.CENTER);

tf.addActionListener(this);

}


@Override

public void actionPerformed(ActionEvent arg0)

{

if (arg0.getSource() == tf)

{

out.println(tf.getText().toString());

tf.setText("");

}

}

}


public class client

{

public static void main(String[] args)

{

BufferedReader user = new BufferedReader(new InputStreamReader(

System.in));

Socket socket;

try

{

socket = new Socket("115.20.247.142", 1251);

PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

MyFrame mf = new MyFrame(out);

ReceiveThread rt = new ReceiveThread(socket, mf.ta);

rt.start();

} catch (IOException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}


}


class ReceiveThread extends Thread

{

Socket socket;

TextArea ta;


public ReceiveThread(Socket socket, TextArea ta)

{

this.socket = socket;

this.ta = ta;

}


@Override

public void run()

{

BufferedReader in;

try

{

in = new BufferedReader(new InputStreamReader(

socket.getInputStream()));

while (true)

{

ta.setText(ta.getText() +"\n"+ in.readLine());

}


} catch (IOException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

super.run();

}

}



서버


package com.tansanc.tistory;

import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class MyApplet2
{
public static void main(String[] args) throws IOException
{
int i = 1;
ServerSocket server = null;
server = new ServerSocket(1251, 5);
while (true)
{
System.out.println("Accept 대기");
Socket socket = server.accept();
System.out.println("Accept 성공");
PerClientReceiveThread pcrt = new PerClientReceiveThread(socket);
pcrt.start();
}

// Socket socket = new Socket("115.20.247.142",1251);
// InputStream is = socket.getInputStream();
// byte i = (byte)is.read();
// System.out.println(i);

}
}



package com.tansanc.tistory;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.ArrayList;

public class PerClientReceiveThread extends Thread
{
static ArrayList<PrintWriter> arGeneral = new ArrayList<PrintWriter>();
Socket socket;

public PerClientReceiveThread(Socket socket)
{
this.socket = socket;
}

@Override
public void run()
{
InputStream os;
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
arGeneral.add(out);

while (true)
{
String msg = in.readLine();
System.out.println(msg);
for (int i = 0; i < arGeneral.size(); i++)
{
arGeneral.get(i).println(msg);
}
}

} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
super.run();
}
}


'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 버블 정렬  (0) 2013.11.30
JAVA JTable 실습 예제  (0) 2013.08.24
JAVA 채팅 클라이언트  (0) 2013.08.23
JAVA 계산기 프로그램 부분완성  (0) 2013.08.16
JAVA 계산기 레이아웃  (0) 2013.08.16

JAVA 채팅 클라이언트

Programming/JAVA,JSP 2013. 8. 23. 13:51 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class client
{
	public static void main(String[] args)
	{
		BufferedReader user = new BufferedReader(new InputStreamReader(
				System.in));
		Socket socket;
		try
		{
			socket = new Socket("115.20.247.142", 1251);
			PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
			ReceiveThread rt = new ReceiveThread(socket);
			rt.start();
			while (true)
			{
				out.println(user.readLine());
			}
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

class ReceiveThread extends Thread
{
	Socket socket;

	public ReceiveThread(Socket socket)
	{
		this.socket = socket;
	}

	@Override
	public void run()
	{
		BufferedReader in;
		try
		{
			in = new BufferedReader(new InputStreamReader(
					socket.getInputStream()));
			while (true)
			{
				System.out.println(in.readLine());
			}

		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		super.run();
	}
}


'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA JTable 실습 예제  (0) 2013.08.24
JAVA 채팅 프로그램 소스  (0) 2013.08.23
JAVA 계산기 프로그램 부분완성  (0) 2013.08.16
JAVA 계산기 레이아웃  (0) 2013.08.16
JAVA 타자연습 프로그램  (0) 2013.08.13

JAVA 계산기 프로그램 부분완성

Programming/JAVA,JSP 2013. 8. 16. 14:25 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tansanc.tistory;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

class Cal extends JFrame
{

	private JTextField t1;

	private JButton b1, b2, b3, b4, b5, b6, b7, b8, b9, b0;

	JButton pl, mi, mu, di, cal, c;

	String x, y;

	public Cal()
	{

		setSize(285, 350);

		setDefaultCloseOperation(EXIT_ON_CLOSE);

		setTitle("Calculator");

		JPanel p = new JPanel();

		p.setLayout(null);

		t1 = new JTextField(10);

		p.add(t1);

		b1 = new JButton("1");

		p.add(b1);

		b1.addActionListener(new Number());

		b2 = new JButton("2");

		p.add(b2);

		b2.addActionListener(new Number());

		b3 = new JButton("3");

		p.add(b3);

		b3.addActionListener(new Number());

		b4 = new JButton("4");

		p.add(b4);

		b4.addActionListener(new Number());

		b5 = new JButton("5");

		p.add(b5);

		b5.addActionListener(new Number());

		b6 = new JButton("6");

		p.add(b6);

		b6.addActionListener(new Number());

		b7 = new JButton("7");

		p.add(b7);

		b7.addActionListener(new Number());

		b8 = new JButton("8");

		p.add(b8);

		b8.addActionListener(new Number());

		b9 = new JButton("9");

		p.add(b9);

		b9.addActionListener(new Number());

		b0 = new JButton("0");

		p.add(b0);

		b0.addActionListener(new Number());

		pl = new JButton("+");

		p.add(pl);

		pl.addActionListener(new Number());

		mi = new JButton("-");

		p.add(mi);

		mi.addActionListener(new Number());

		mu = new JButton("*");

		p.add(mu);

		mu.addActionListener(new Number());

		di = new JButton("/");

		p.add(di);

		di.addActionListener(new Number());

		cal = new JButton("=");

		p.add(cal);

		cal.addActionListener(new Number());

		c = new JButton("C");

		p.add(c);

		c.addActionListener(new Number());

		t1.setBounds(10, 10, 245, 80);

		b1.setBounds(10, 105, 45, 45);

		b2.setBounds(60, 105, 45, 45);

		b3.setBounds(110, 105, 45, 45);

		b4.setBounds(10, 155, 45, 45);

		b5.setBounds(60, 155, 45, 45);

		b6.setBounds(110, 155, 45, 45);

		b7.setBounds(10, 205, 45, 45);

		b8.setBounds(60, 205, 45, 45);

		b9.setBounds(110, 205, 45, 45);

		b0.setBounds(60, 255, 45, 45);

		pl.setBounds(160, 105, 45, 45);

		mi.setBounds(160, 155, 45, 45);

		mu.setBounds(160, 205, 45, 45);

		di.setBounds(160, 255, 45, 45);

		c.setBounds(110, 255, 45, 45);

		cal.setBounds(210, 105, 45, 195);

		add(p);

		setVisible(true);

	}

	String operand1;
	String operator;
	private class Number implements ActionListener
	{

		public void actionPerformed(ActionEvent e)
		{
			if( e.getSource() == b1)
			{
				t1.setText(t1.getText() + "1");
			}
			else if( e.getSource() == b2)
			{
				t1.setText(t1.getText() + "2");
			}
			else if( e.getSource() == pl)
			{
				operand1 = t1.getText();
				operator = "+";
				t1.setText("");
			}
			else if( e.getSource() == cal)
			{
				if(operator == "+")
				{
					t1.setText("" + ( Integer.parseInt(operand1) + Integer.parseInt(t1.getText())) );
				}
			}
		}
	}

}

public class CardTest
{

	public static void main(String[] args)
	{

		Cal Cals = new Cal();

	}

}

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 채팅 프로그램 소스  (0) 2013.08.23
JAVA 채팅 클라이언트  (0) 2013.08.23
JAVA 계산기 레이아웃  (0) 2013.08.16
JAVA 타자연습 프로그램  (0) 2013.08.13
JAVA Console Token 구현  (0) 2013.08.07

JAVA 계산기 레이아웃

Programming/JAVA,JSP 2013. 8. 16. 13:30 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tansanc.tistory;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

class Cal extends JFrame
{

	private JTextField t1;

	private JButton b1, b2, b3, b4, b5, b6, b7, b8, b9, b0;

	JButton pl, mi, mu, di, cal, c;

	String x, y;

	public Cal()
	{

		setSize(285, 350);

		setDefaultCloseOperation(EXIT_ON_CLOSE);

		setTitle("Calculator");

		JPanel p = new JPanel();

		p.setLayout(null);

		t1 = new JTextField(10);

		p.add(t1);

		b1 = new JButton("1");

		p.add(b1);

		b1.addActionListener(new Number());

		b2 = new JButton("2");

		p.add(b2);

		b2.addActionListener(new Number());

		b3 = new JButton("3");

		p.add(b3);

		b3.addActionListener(new Number());

		b4 = new JButton("4");

		p.add(b4);

		b4.addActionListener(new Number());

		b5 = new JButton("5");

		p.add(b5);

		b5.addActionListener(new Number());

		b6 = new JButton("6");

		p.add(b6);

		b6.addActionListener(new Number());

		b7 = new JButton("7");

		p.add(b7);

		b7.addActionListener(new Number());

		b8 = new JButton("8");

		p.add(b8);

		b8.addActionListener(new Number());

		b9 = new JButton("9");

		p.add(b9);

		b9.addActionListener(new Number());

		b0 = new JButton("0");

		p.add(b0);

		b0.addActionListener(new Number());

		pl = new JButton("+");

		p.add(pl);

		pl.addActionListener(new Number());

		mi = new JButton("-");

		p.add(mi);

		mi.addActionListener(new Number());

		mu = new JButton("*");

		p.add(mu);

		mu.addActionListener(new Number());

		di = new JButton("/");

		p.add(di);

		di.addActionListener(new Number());

		cal = new JButton("=");

		p.add(cal);

		cal.addActionListener(new Number());

		c = new JButton("C");

		p.add(c);

		c.addActionListener(new Number());

		t1.setBounds(10, 10, 245, 80);

		b1.setBounds(10, 105, 45, 45);

		b2.setBounds(60, 105, 45, 45);

		b3.setBounds(110, 105, 45, 45);

		b4.setBounds(10, 155, 45, 45);

		b5.setBounds(60, 155, 45, 45);

		b6.setBounds(110, 155, 45, 45);

		b7.setBounds(10, 205, 45, 45);

		b8.setBounds(60, 205, 45, 45);

		b9.setBounds(110, 205, 45, 45);

		b0.setBounds(60, 255, 45, 45);

		pl.setBounds(160, 105, 45, 45);

		mi.setBounds(160, 155, 45, 45);

		mu.setBounds(160, 205, 45, 45);

		di.setBounds(160, 255, 45, 45);

		c.setBounds(110, 255, 45, 45);

		cal.setBounds(210, 105, 45, 195);

		add(p);

		setVisible(true);

	}

	private class Number implements ActionListener
	{

		public void actionPerformed(ActionEvent e)
		{

		}

	}

}

public class CardTest
{

	public static void main(String[] args)
	{

		Cal Cals = new Cal();

	}

}

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 채팅 클라이언트  (0) 2013.08.23
JAVA 계산기 프로그램 부분완성  (0) 2013.08.16
JAVA 타자연습 프로그램  (0) 2013.08.13
JAVA Console Token 구현  (0) 2013.08.07
JAVA 제네릭을 사용한 Store Class  (0) 2013.08.07

JAVA 타자연습 프로그램

Programming/JAVA,JSP 2013. 8. 13. 12:18 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tansanc.tistory;

import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.ArrayList;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

class MyFrame extends JFrame implements KeyListener
{
	JLabel staticText;
	JTextField inputText;
	JLabel resultText;
	long start;
	long end;
	String problemArray[] =
	{ "JAVA", "안녕하세요" };
	ArrayList problemList = new ArrayList();

	public MyFrame()
	{
		problemList.add("JAVA");
		problemList.add("안녕하세요");
		this.setSize(300, 200);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setTitle("이벤트 예제");
		staticText = new JLabel("Hello World");
		add(staticText, BorderLayout.NORTH);
		inputText = new JTextField("");
		add(inputText, BorderLayout.CENTER);
		resultText = new JLabel("Hello World");
		add(resultText, BorderLayout.SOUTH);

		inputText.addKeyListener(this);

		setVisible(true);
		start = System.currentTimeMillis();
	}

	@Override
	public void keyPressed(KeyEvent e)
	{
	}

	@Override
	public void keyReleased(KeyEvent e)
	{

	}

	@Override
	public void keyTyped(KeyEvent e)
	{
		if (staticText.getText().equals(inputText.getText()))
		{
			Random r = new Random();
			end = System.currentTimeMillis();
			resultText.setText("정답입니다. " + inputText.getText().length()
					/ ((end - start) / 1000.0 / 60.0));
			staticText.setText(problemList.get(r.nextInt(2)));
			inputText.setText("");
		}
	}
}

public class Test
{
	public static void main(String[] args)
	{
		MyFrame t = new MyFrame();
	}
}

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 계산기 프로그램 부분완성  (0) 2013.08.16
JAVA 계산기 레이아웃  (0) 2013.08.16
JAVA Console Token 구현  (0) 2013.08.07
JAVA 제네릭을 사용한 Store Class  (0) 2013.08.07
JAVA DRAG 가능한 Component 만들기  (0) 2013.08.03