[Java/Swing] 이미지 삽입하기
·
Java/Swing (GUI)
코드public class MyImageFrame extends JFrame { ImagePanel imagePanel; // 내부 클래스를 멤버 변수로 선언 public MyImageFrame() { initData(); setInitLayout(); } private void initData() { setTitle("이미지 연습"); setSize(400, 400); setDefaultCloseOperation(3); imagePanel = new ImagePanel(); } private void setInitLayout() { add(imagePanel); setVi..
[Java/Swing] paint 메서드 : 도형, 이미지, 문자열 그리기
·
Java/Swing (GUI)
JPanel 클래스의 paint 메서드  - JPanel 클래스를 상속받아, paint 메서드를 재정의해서 그림을 그릴 수 있음 #  도형 그리기// JFrame을 상속받은 클래스의 외부 or 내부에 선언해서 사용class 클래스명 extends JPanel { // paint 메서드를 재정의해서 사용함 @Override public void paint(Graphics g) { super.paint(g); // fillRect : 채운 사각형 // 사각형 그리기 g.drawRect(x좌표, y좌표, 너비, 높이); // 둥근 사각형 그리기 g.drawRoundRect(매개변수); ..
[Java/Swing] 패널 (Panel)
·
Java/Swing (GUI)
패널 (Panel)  - 컴포넌트들을 그룹화시켜, 각 그룹에 대한 레이아웃을 지정할 수 있게 함   - root 패널의 기본 레이아웃 : BorderLayout      → 생성한 패널을 추가할 때는 BorderLayout 방식으로 add해야 함  - 생성한 패널의 기본 레이아웃 : FlowLayout      → 생성한 패널에 컴포넌트를 추가할 때는 FlowLayout 방식으로 add해야 함// 선언접근제어자 JPanel 패널명;-----------// 인스턴스화패널명 = new JPanel();// 패널 배경 색 지정패널명.setBackground(Color.색상);-----------// 패널 추가 (기본 레이아웃일 때 : BorderLayout)add(패널명, BorderLayout.방향);// ..
[Java/Swing] 패널 - 영역 분리하기
·
Java/Swing (GUI)
코드public class MyFramePanel extends JFrame { JButton[] buttons = new JButton[6]; private JPanel panel1; private JPanel panel2; public MyFramePanel2() { initData(); setInitLayout(); } private void initData() { setTitle("패널 연습"); setSize(600, 400); setDefaultCloseOperation(3); panel1 = new JPanel(); panel1.setBackground(Color.red);..
[Java/Swing] 컴포넌트 (Component)
·
Java/Swing (GUI)
#  버튼// 선언접근제어자 JButton 버튼명;// 인스턴스화버튼명 = new JButton("텍스트"); // ImageIcon 객체를 매개변수에 넣으면 이미지도 가능// 버튼의 테두리 제거버튼명.setBorder(null);// 해당 버튼 활성화버튼명.doClick(); #  텍스트 삽입 or 이미지 삽입// 선언접근제어자 JLabel 컴포넌트명;// 인스턴스화 (텍스트)컴포넌트명 = new JLabel("텍스트");// 인스턴스화 (이미지)컴포넌트명 = new JLabel(new ImageIcon("경로/파일명.확장자")); #  텍스트 입력 영역// 선언접근제어자 JTextArea 컴포넌트명;// 인스턴스화컴포넌트명 = new JTextArea("텍스트"); #  텍스트 입력 박스// 선언접근..