[JAVA] 이미지 파일 전송 서버 - 클라이언트 서버에 연결된 클라이언트에서 이미지 파일을 선택해서 전송하면 서버에 저장되는 프로그램이다. 내가 이 프로그램을 구현할 때 파일 정보를 먼저 출력한 후 파일을 저장하려 했기 때문에 상당히 고생했는데 파일을 먼저 저장한 후 저장된 파일에서 정보를 추출하여 출력하게 만들었으면 구현이 훨씬 쉬웠을 것이다. 하지만 그렇게 구현하면 서버에서 유해한 파일을 걸러내는 기능을 추가하는게 힘들 뿐더러 뭔가 지는 느낌이라 오기로 해결했다. ○ 클라이언트에서 이미지 파일을 선택해 서버에 전송한다. ○ 서버가 전송받은 이미지 파일은 'copy_(원래 파일 이름)'의 형식으로 서버 폴더에 저장된다. ○ 서버에 클라이언트 연결시 알림이 출력되고 연결된 클라이언트로부터 이미지를 전송받으면 해당 이미지 파일의 정보와 미리보기가 출력된.. [JAVA] 영어 사전 서버 - 클라이언트 서버에서 영어 사전에 단어를 삽입할 수 있고 클라이언트로 서버에 접속하여 영어 단어를 검색할 수 있다. 이 서버에서는 삽입한 단어가 해쉬맵에 저장되기 때문에 서버를 실행할 때마다 사전 목록이 초기화된다. 따라서 파일 입출력을 활용하여 목록을 텍스트 파일로 저장하거나 수정이나 삭제 같은 없는 기능을 추가하는 것도 좋겠다. 한글로 영어를 검색하는 기능은 몇 가지 생각나는 방법은 있지만 다른 요소의 추가 없이 입력 값으로만 판별하려면 꽤나 귀찮을 것 같다. ○ 서버에서 사전에 단어를 삽입할 수 있다. ○ 클라이언트가 영어 단어를 검색하면 서버는 해당 단어의 의미을 찾아 전송한다. 만약 존재하지 않는 단어라면 '없음'을 전송한다. ○ 한번에 여러 클라이언트가 서버에 접속할 수 있다. ○ 서버에 단어 삽입 기록과.. [JAVA] 점수 조회 서버 - 클라이언트 서버에 저장된 학생의 이름과 점수 데이터를 클라이언트로 접속하여 검색하는 프로그램이다. ○ 학생 이름과 학점이 저장된 텍스트 파일을 미리 마련해두고, 서버는 이 파일을 읽는다. ○ 클라이언트가 학생 이름을 검색하면 서버는 해당 학생의 학점을 찾아 전송한다. 만약 이름이 존재하지 않는다면 '성적 없는 이름'을 전송한다. ○ 한번에 여러 클라이언트가 서버에 접속할 수 있다. ○ 서버에 클라이언트들의 접속과 검색 기록이 출력된다. 코드 서버 import java.io.*; import java.net.*; import java.util.*; import javax.swing.*; import java.awt.*; public class fiveServer extends JFrame{ private JTextA.. [JAVA] 오디오 플레이어 연주할 곡을 체크박스로 만들고 사용자가 체크한 곡만 순서대로 연주하는 프로그램이다. 만들 때 꽤나 고생했던 걸로 기억하는데 아마 사용자 선택의 기록과 음악 파일 재생을 따로 진행하면서 유기적으로 연결하는 부분이 문제였다. 나는 벡터에 선택 순서대로 경로와 파일명을 저장한 후 맨 위의것부터 재생하는 방법을 사용했다. 체크 해제시 검색하여 삭제해야 되기 때문에 삭제기능이 없다면 큐를 사용하긴 힘들다. ○ 연주시작 버튼을 누르면 연주가 시작되고 다음 곡에 대해서는 체크박스를 선택/해제할 수 있다. ○ 연주끝 버튼을 누르면 연주가 멈추고, 연주시작 버튼을 누르면 처음부터 시작한다. ○ 연주되고 있는 곡은 다른 글자색으로 나타낸다. 코드 import javax.swing.*; import java.awt.*; i.. [JAVA] 산성비 게임 어릴 적 학교 컴퓨터실 한컴타자연습에서 많이 하던 산성비 게임이다. ○ 단어는 words.txt 파일을 읽어서 랜덤으로 가져온다. ○ 제한시간 내에 떨어지는 단어를 바르게 입력하면 '성공' 메세지를, 시간이 모두 지나면 '시간초과실패' 메세지를 좌측 상단에 출력한다. ○ '그만' 을 입력하여 종료한다. 코드 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; public class eleven extends JFrame{ private MyPanel panel=new MyPanel(); private JPanel jp; private JTextField jt; privat.. [JAVA] 슬롯 머신 화면을 클리할 때마다 0부터 9까지의 수 3개가 랜덤으로 출력된다. 그 후 3개가 모두 일치하면 '축하합니다' 메세지를 아니라면 '아쉽군요' 메세지를 출력한다. 코드 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class nine extends JFrame{//프레임 private MyPanel panel=new MyPanel(); public nine() { setTitle("스레드를 가진 겜블링"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocation(880,420);//Frame 화면중앙에 설정 setContentPane(panel); setSize(600,4.. [JAVA] 스네이크 게임 스네이크 게임의 뱀의 움직임을 구현한 프로그램. 뱀 모양을 만들고 이동시키는 알고리즘을 직접 짰었는데 다음과 같다. ○ 뱀의 머리와 꼬리의 마디 하나하나는 크기는 같지만 모두 다른 정사각형 모양의 객체이다. ○ 첫 번째 객체(머리)를 위치시킨 후, 다음 객체는 이전 객체의 높이만큼 y좌표를 증가시켜 위치시킨다. 이 작업을 반복하여 세로로 정렬된 초기의 뱀 모습을 형성한다. ○ 뱀은 direction 변수에 의해 이동한다. 최초의 direction은 "up"이며 키보드로 변경할 수 있다. ○ 오직 머리 객체만이 direction을 읽어 움직인다. 나머지 마디는 이전 객체의 위치를 가져와 자신의 위치를 그곳으로 이동시키는 것 뿐이다. 글을 작성하며 코드를 다시 보니 쓰레드 함수 부분에 쓸데없는 반복을 없애면.. [JAVA] 파이 차트 합이 100이 되게 각 apple, chrrey, strawberry, prune의 4가지 종류의 과일 판매량을 입력하고 키를 치면 전체 판매량에서 백분율(%)을 계산하여 문자열과 파이 차트로 동시에 출력한다. 현재 코드가 퍼센트 1당 3.6도의 원을 그리는 방식이라 합을 100에 모자라게 넣으면 빈 공간이 생기는데 발전할 수 있는 포인트다. 코드 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class eleven extends JFrame{ JPanel jp=new JPanel(); MyPanel panel=new MyPanel(); String[]fruits= {"apple","cherry","strawberry",.. 이전 1 2 3 4 다음 목록 더보기