TEXT IO for GUI
JFrame을 extends 해서 클래스를 만든다. ActionListener를 implements 한다.
JTextArea는 여러 줄 짜리!!
getContentPane을 통해 확보하고 BorderLayout으로 정렬을 한다.
Line wrapping Text Area
true이면 더 긴 라인을 입력하면 내려오게 해준다. 그렇지 않으면 옆으로 넓어진다. 모양을 유지하고 싶으면 true로 설정해야 width를 넘어갔을 때도 아래로 자동으로 내려오게 해준다.
ReadOnly Text Component
setEditable(false)로 하면 값이 변경되지 않고 true로 하면 사용자가 입력할 수 있다.
JFrame을 extends하고 ActionListener를 implements 한다.
Name Tester로 타이틀을 설정한다.
getContentPane을 해서 Container를 확보하고 GridLayout으로 정렬한다. JPanel을 확보하고 BorderLayout으로 해놓은 후 JTextField를 20짜리를 만든다. 남쪽에다가 배치를 하고 Label은 패널의 Center에 위치시킨다.
Inputting and Outputting Numebrs
getText를 통해서 숫자를 읽어오지만 숫자가 아닌 String으로 입력을 받는다. 앞뒤의 Blank를 없애주는 trim 매소드를 사용해서 제거해주고 Integer.parseInt(field.getText().trim()) 으로 숫자치환을 해준다.
만약 숫자를 String으로 넣어주고 싶은 경우 field.setText(Integer.toString(total)); 을 해준다.
이를 통해 adder 프로그램을 작성할 수 있다.
Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
...
contentPane.add(buttonPanel, BorderLayout.SOUTH);
이렇게 배치를 시킨다.
actionPerformed함수에서
e.getActionCommand().equals("") 로 어떤 버튼이 눌렸는지 파악하고 stringToDouble(inputOutputField.getText()); 를 해준다.
Catching a NumberFormatException
Double.parseDouble(stringObject.trim())
'🚗 Major Study (Bachelor) > 🟠 JAVA Programming' 카테고리의 다른 글
Container Class, JFrame(JAVA 13.4) (0) | 2021.12.16 |
---|---|
BorderLayout, FlowLayout, GridLayout(JAVA 13.3) (0) | 2021.12.16 |
Swing, WindowDestroyer, WindowAdapter(JAVA 13.2) (0) | 2021.12.16 |
Swing, GUI, Event Driven Programming(JAVA 13.1) (0) | 2021.12.16 |
JAVA 프로그래밍 17.2장 Reserved Keyword (0) | 2021.12.12 |