목록
'java' 76건
-
JSlider, 슬라이더 컴포넌트JSliderJSlider는 슬라이드 바(Bar)를 출력하여, 마우스로 값을 선택하도록 하는 슬라이더 컴포넌트입니다. 슬라이더의 종류는 수평 슬라이더와 수직 슬라이더가 있으며, 생성 당시 선택하거나 생성 후 변경할 수 있습니다. 손잡이손잡이(knob)는 사용자가 값을 선택하기 위해 움직이는 그래픽 심볼입니다.minimum과 maximum사용자가 선택할 수 있는 최솟갑과 최댓값입니다.orientation슬라이더의 방향으로 나타내는 값으로 JSliber.HORIZONTAL과 JSlider.VERTICAL의 둘 중 하나이며 각각 수평, 수직 슬라이더를 말합니다.track슬라이더의 트랙 바(bar)를 말합니다. 트랙 바는 보이게 할 수도 있고 보이지 않게 할 수도 있습니다.majorTickSpacing과 min..
-
JComboBox<E>, 콤보박스 컴포넌트JComboBoxJComboBox는 텍스트필드, 버튼, 드롭다운(drop down) 리스트로 구성되는 콤보박스 컴포넌트를 구현합니다. E는 콤보박스에 삽입되는 아이템의 타입으로, 콤보박스를 생성할 때 E 대신 아이템의 타입을 대입하여 구체화해야 합니다. JComboBox 컴포넌트의 생성콤보박스 컴포넌트는 다음 생성자를 이용하여 생성합니다. JComboBox() // 빈 콤보박스JComboBox(Vector listData) // 백터로부터 아이템을 공급받는 콤보박스JComboBox(Object [] listEData) // 배열로부터 아이템을 공급받는 콤보박스 JList와 같이, JComboBox(Vector listData)나 JComboBox(Object [] listData) 생성자를 이용하여 벡터..
-
JList<E>, 리스트 컴포넌트JListJList는 여러 개의 아이템을 리스트 형식으로 보여주고 아이템을 선택하도록 하는 리스트 컴포넌트를 구현합니다. JDK7부터 JList에 제네릭(Generic)을 도입하여 JList(이하 JList 또는 리스트)로 사용합니다. E는 리스트에 삽입하는 아이템의 타입으로, 리스트를 생성할 때 E 대신 아이템 타입을 대입하여 구체화해야 합니다. 문자열과 이미지가 아이템으로 사용 가능하며, 사용자는 하나 이상의 아이템을 선택할 수 있습니다.JList는 자체적으로 스크롤을 지원하지 않기 때문에 JScrollPane에 삽입되어야 스크롤이 가능합니다. JList 리스트 생성과 특징리스트는 다음 생성자를 이용하여 생성합니다.JList() // 빈 리스트JList(Vector listData) // 벡터로부터 ..
-
JTextArea, 텍스트 영역 컴포넌트JTextAreaJTextArea를 이용하면 여러 줄의 문자열을 입력받을 수 있는 창(텍스트영역)을 만들 수 있습니다. 창의 크기보다 많은 줄과 문자를 입력할 수 있지만 스크롤바를 지원하지 않습니다. JTextArea 컴포넌트를 JScrollPane에 삽입되어야 스크롤바 자원을 받을 수 있습니다. JTextArea 컴포넌트의 생성텍스트명의 컴포넌트의 생성자는 다음과 같습니다.JTextArea() // 빈 텍스트입력JTextArea(int rows, int cols) // 입력 창이 rows x cols 개의 문자 크기만 텍스트 입력JTextArea(String text) // text 문지열로 초기화된 텍스트 영역JTextArea(String text, int rows, int cols) // 입력 창이..
-
JTextField, 텍스트필드 컴포넌트JTextFieldJTextField를 이용하면 한 줄은 문자열을 입력받는 창(택스트필드)을 만들 수 있습니다. 입력 가능한 문자 개수와 창의 크기는 응용프로그램에서 변경할 수 있습니다. 텍스트필드에 문자열 입력 도중 키가 입력되면 Action 이벤트가 발셍합니다. JTextField 컴포넌트의 생성텍스트필드 컴포넌트의 생성자는 다음과 같습니다.JTextField() // 빈 텍스트필드JTextField(int cols) // 입력 창의 열의 개수가 cols 게인 텍스트필드JTextField(String text) // text 문자열로 초기화된 텍스트 필드JTextField(String text, int cols) // 입력 창의 열의 개수는 cols개이고 text 문지열로 초기화된 텍스트핑드 텍스트..
-
JRadioButton, 라디오버튼 컴포넌트JRadioButtonJRadioButton을 이용하면 라디오버튼을 만들 수 있습니다. 라디오버튼은 생성, 메서드, 이벤트 처리에 있어 체크박스와 동일하지만, 한 가지 면에서 다릅니다. 체크박스는 독립적으로 선택/해제되지만, 라디오버튼은 여러 개가 하나의 버튼 그룹을 형성하고, 그룹 내에서 하나만 선택 가능합니다. JRadioButton 컴포넌트의 생성라디오버튼은 다음 생성자를 이용하여 생성하며, 디폴트가 해제 상태입니다.JRadioButton() // 빈 체크박스JRadioButton(Icon image) // 이미지 라디오버튼JRadioButton(Icon image, boolean selected) // 이미지 라디오버튼JRadioButton(String text) // 문자열 라디오버튼JRadio..
-
JCheckbox, 체크박스 컴포넌트JCheckBox를 이용하면 선택(selected)과 해제(deselected)의 두 상태만 가지는 체크박스 컴포넌트(줄여 체크박스)를 만들 수 있습니다. 체크박스는 체크박스 문자열과 체크박스 이미지로 구성합니다. 체크박스 컴포넌트 생성체크박스는 다음 생성자를 이용하여 생성하며, 디폴트가 해제 상태입니다.JCheckBox() // 빈 체크박스JCheckBox(String text) // 문자열 체크박스JCheckBox(String text, boolean selected) // 문자열 체크박스JCheckBox(Icon image) // 이미지 채크박스JCheckBox(Icon image, boolean selected) // 이미지 체크박스JCheckBox(String text, Icon image) /..
-
JButton, 버튼 컴포넌트JButtonJButton은 버튼 컴포넌트(간단히 버튼)를 만드는데 이용됩니다. 레이블 컴포넌트가 문자열이나 이미지를 화면에 출력하는 용도로 사용되는 것이라면, 버튼은 사용자로부터 명령을 받기 위해 사용됩니다. 버튼을 마우스로 클릭하거나 키로 선택하면 Action 이벤트가 발생합니다. 버튼 컴포넌트 생성버튼은 다음 생성자를 이용하여 생성합니다.JButton() // 빈 버튼JButton(Icon image) // 이미지 버튼JButton(String text) // 문자열 버튼JButton (String text, Icon image) // 문자열과 이미지를 가진 버튼 예를 들면 "hello" 문자열을 가진 버튼은 다음 코드로 생성합니다.JButton btn = new JButton("hello"); 이..
-
JLabel, 레이블 컴포넌트JLabelJLabel은 문자열이나 이미지를 스크린에 출력하는 레이블 컴포넌트를 만드는 클래스입니다. 레이블 컴포넌트 생성레이블 컴포넌트 레이블이라고도 부르며, 다음 생성자를 이용하여 생성합니다.JLabel() // 빈 레이블JLabel(Icon image) // 이미지 레이블JLabel(String text) // 문자열 레이블JLabel(String text, Icon image, int hAlign) // 문자열과 이미지를 모두 가진 레이블 hAlign: 수평 정렬 값으로 SwitchConstant.LEFT, SwingConstant.RIGHT, SwingConstant.CENTER 중 하나 문자열 레이블 생성JLabel textLabel = new JLabel("사랑합니다"); 이미지 레이블 생..
-
스윙 컴포넌트 소개스윙 프로그램으로 GUI 화면을 구성하는 방법은 두 가지입니다.첫 번째, 컴포넌트 기반 GUI 프로그래밍입니다. 스윙 패키지에 주어진 GUI 컴포넌트를 이용하여 쉽게 GUI 프로그램을 작성할 수 있는 장점이 있지만, 자바 패키지에서 제공하는 GUI 컴포넌트의 한계를 벗어날 수 없습니다.두 번째, 그래픽 기반 GUI 프로그래밍입니다. 선, 원 등의 도형과 이미지를 이용하여 그래픽을 직접 환경에 그립니다. 이 방법은 자바 패키지의 컴포넌트에는 없는 독특한 GUI를 구성할 수 있고 실행 속도가 빨라 게임 등에서 주로 사용됩니다. 하지만, 프로그래밍에 대한 개발자의 부담이 큰 단점이 있습니다. 많은 경우 이 두 방법으로 혼합하여 GUI 응용프로그램을 작성합니다. 스윙 컴포넌트의 상속 구조스윙 컴포넌트는 JCom..
-
MouseEvent와 MouseListener, MouseMotionListener, MouseWheelListenerMouse 이벤트Mouse 이벤트는 사용자의 마우스 조작에 따라 총 8가지 경우에 발생합니다. 이 중에서 5가지 경우는 MouseListener의 메서드가 호출되고, 2가지 경우는 MouseMotionListener의 메소드가, 나머지 1가지는 MouseWheelListener의 메소드가 호출됩니다. 모든 스윙 컴포넌트가 Mouse 이벤트를 받을 수 있으며, Mouse 이벤트가 발생하면 MouseEvent 객체나 MouseWheelEvent 객체가 리스너의 메서드에 전달됩니다. 마우스가 눌러진 위치에서 그대로 떼어지면 다음 순서로 메서드가 호출됩니다.mousePressed(), mouseReleased(), mouseClicked() 하지만 마우스가 드래그되면 다음 순서로 호출됩니다.mousePresse..
-
KeyEvent와 KeyListenerKey 이벤트와 포커스Key 이벤트는 사용자가 키를 입력할 때 발생하는 이벤트이며, 모든 컴포넌트가 Key 이벤트를 받을 수 있습니다. 그러나 응용프로그램 내에 포커스(focus)를 가진 컴포넌트가 키 입력을 독점하기 때문에, 현재 포커스를 가진 컴포넌트에만 Key 이벤트가 전달됩니다. 포커스란 키 입력의 독점권을 뜻합니다. 버튼을 누르기 위해 키를 입력하더라도 버튼이 포커스를 가지고 있지 않다면 Key 이벤트를 받을 수 없습니다.어떤 컴포넌트에게 키를 입력하고자 하면 키나 마우스 클릭으로 포커스를 그 컴포넌트에게 이동시키켜야 합니다. 스윙 응용프로그램에서는 강제로 임의의 컴포넌트에 포커스를 주기 위해 다음 두 코드가 모두 필요합니다.component.setFocusable(true); // comp..