2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

AWT(Swing)으로 구현한 엄청 간단한 호텔예약시스템

이전 포스팅과 같은 내용을 Applet이 아닌 AWT와 Swing으로 구현하는 예제이다.
[ 소 스 코 드 ]
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.StringTokenizer;
public class AWTest extends JFrame {
private static String title = "Sample Application";
public AWTest()
{
super(title);
final JLabel lbBegin = new JLabel("開始日");
final JLabel lbEnd = new JLabel("終了日");
final JLabel lbNumber = new JLabel("部屋數");
final JTextField txtBegin = new JTextField("");
final JTextField txtEnd = new JTextField("");
final JTextField txtNumber = new JTextField("");
final JButton btnSend = new JButton("Send");
final JButton btnClear = new JButton("Clear");
final JPanel panel = new JPanel();
panel.setLayout(new GridLayout(0,1));
panel.add(lbBegin);
panel.add(txtBegin);
panel.add(lbEnd);
panel.add(txtEnd);
panel.add(lbNumber);
panel.add(txtNumber);
panel.add(btnSend);
panel.add(btnClear);
getContentPane().add(panel,BorderLayout.CENTER);
pack();
setSize(200,250);
setVisible(true);
// initialization
SimpleDateFormat sdf = new SimpleDateFormat("yy/MM/dd");
Calendar today = Calendar.getInstance();
txtBegin.setText(sdf.format(today.getTime()));
today.add(Calendar.DATE, 1);
txtEnd.setText(sdf.format(today.getTime()));
txtNumber.setText("2");
btnSend.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
Calendar today = Calendar.getInstance();
Date dtToday = new Date();
Date dtBegin = new Date();
// .. 내용은 생략합니다...^^
// print format here!!!!!!!!!!
System.out.println("today: " + dtToday.toString());
System.out.println("begin: " + dtBegin.toString());
System.out.println("end: " + dtEnd.toString());
System.out.println("Rooms: " + txtNumber.getText().toString());
System.out.println("after a month: " + dtAfterAMonth.toString());
}
});
btnClear.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
SimpleDateFormat sdf = new SimpleDateFormat("yy/MM/dd");
Calendar today = Calendar.getInstance();
txtBegin.setText(sdf.format(today.getTime()));
today.add(Calendar.DATE, 1);
txtEnd.setText(sdf.format(today.getTime()));
txtNumber.setText("2");
}
});
}
public static void main(String[] args)
{
AWTest myAwt = new AWTest();
}
}

결과적으로 Applet은 main 함수는 없어도 괜찮으나 html 파일에 꼭 jar 파일을 설정시켜야 한다.
Application, 즉 AWT나 Swing은 자체에 main 함수가 있고, 객체가 생성되면서 별도의 윈도우 애플리케이션이
실행되는 형식으로 결론을 내렸다. (누구 마음대로?? ㅋㅋ)
JFrame에 필요한 요소들을 정의해서 하나씩 add()로 붙여주는 방식으로 디자인을 한다.
아...이거 귀찮구나~~~싶은데, 역시나 한 방에 쉽게 해결해주는 GUI Tool 이 있다는 것.
이는 다음에 또 포스팅 해보도록 해요~~^^ㅋ

[ 결 과 화 면 ]



help by OrientalWizard(김광일) 군

댓글

이 블로그의 인기 게시물

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[react-native] uuid 생성이 에러가 날 때 대처법