[JAVA_Back-End]

[JAVA]GUI(5) - Layout 본문

Programming/JAVA

[JAVA]GUI(5) - Layout

너굴위 2023. 9. 18. 17:48
728x90
반응형
JFrameEx01.java - Dialog 띄우기
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Rectangle;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JDialog;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class JFrameEx01 extends JFrame {

private JPanel contentPane;
private JButton btn01;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JFrameEx01 frame = new JFrameEx01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public JFrameEx01() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);
contentPane.setLayout(null);

btn01 = new JButton("New button");
btn01.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {


JDialogEx01 dialog = new JDialogEx01();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

System.out.println("1"); 

// JDialog를 JFrame 내에 정중앙에 오게 배치
// Frame 의 크기 / 위치이기 때문에 속성을 사각형으로 준다
Rectangle frameBounds = JFrameEx01.this.getBounds();

int fx = (int)frameBounds.getX();
int fy = (int)frameBounds.getY();
int fwidth = (int)frameBounds.getWidth();
int fheight = (int)frameBounds.getHeight();

// Dialog의 크기
int dwidht = 450;
int dheight = 300;

// Dialog의 크기 / 위치 설정
dialog.setBounds(fwidth/2 - dwidht/2 + fx,
fheight/2 - dheight/2 + fy,
dwidht,dheight
);

// 현재 상태에서 button 클릭시 dialog가 무한으로 열리는 현상을 확인할수 있다.
// 하단의 dialog.setModal(true); 옵션을 추가하여
// Dialog 에서 벗어나지 못하게 설정할 수 있다. ( Modal = 제어권 설정 )
dialog.setModal(true);
System.out.println("2");
// setVisible 에서 정지되어있는 상태이기 때문에
// 출력구문 3은 Dialog가 종료된 이후에 출력이 된다.
dialog.setVisible(true);
System.out.println("3"); 

}
});
btn01.setBounds(12, 10, 97, 23);
contentPane.add(btn01);
}
}

 

결과

 

 

 

JFrameEx02.java - Dialog에 입력한 내용을 본 Frame에 적용하기
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JTextField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class JFrameEx02 extends JFrame {

private JPanel contentPane;
private JButton btn01;
private JTextField txt01;
private JTextField txt02;


/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JFrameEx02 frame = new JFrameEx02();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public JFrameEx02() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);
contentPane.setLayout(null);

btn01 = new JButton("New button");
btn01.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {

// Dialog 생성자를 통해 데이터를 넘겨주는 방법이 default 다
String data = txt01.getText();
JDialogEx02 dialog = new JDialogEx02( data );

dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setModal(true);
// setVisible 에서 정지되어있는 상태
dialog.setVisible(true);

txt02.setText(dialog.getData());

}
});
btn01.setBounds(12, 56, 97, 23);
contentPane.add(btn01);

txt01 = new JTextField();
txt01.setBounds(12, 25, 275, 21);
contentPane.add(txt01);
txt01.setColumns(10);

txt02 = new JTextField();
txt02.setBounds(12, 89, 275, 21);
contentPane.add(txt02);
txt02.setColumns(10);
}
}

 

결과

 

 

JDialogEx01.java -  Dialog출력하기  ( JFrameEx01과 연결)
import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class JDialogEx01 extends JDialog {

private final JPanel contentPanel = new JPanel();

/**
 * Launch the application.
 * Dialog 실행 부분

public static void main(String[] args) {
try {
JDialogEx01 dialog = new JDialogEx01();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
*/

/**
 * Create the dialog.
 */
public JDialogEx01() {
setBounds(200, 200, 450, 300);
getContentPane().setLayout(new BorderLayout());
contentPanel.setLayout(new FlowLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);    //내용이 들어가는 panel을 설정하여 스크롤 가능한 내용을 볼 수 있도록 한다
{
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));      //버튼 오른쪽 배치
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{
JButton okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {  //OK를 눌렀을 때 액션
public void actionPerformed(ActionEvent e) {

// action이 일어나는것에대한 대명사는 Enter를 눌렀을때라고 바라본다.     => action을 사용하는 이유?
JDialogEx01.this.dispose();
}
});
okButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {         //Enter을 눌렀을 때와 마우스로 눌렀을 때의 경우를 나누어 같은 처리를 할 수 있도록 한다.

JDialogEx01.this.dispose();

}
});
okButton.setActionCommand("OK");
buttonPane.add(okButton);
getRootPane().setDefaultButton(okButton);
}
{
JButton cancelButton = new JButton("Cancel");
cancelButton.setActionCommand("Cancel");
buttonPane.add(cancelButton);
}
}
}

}

 

JDialogEx02.java - Dialog출력하기  ( JFrameEx02와 연결)
import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class JDialogEx02 extends JDialog {

private final JPanel contentPanel = new JPanel();
private JTextField txt01;


// Dialog에서 넘겨받을 매개변수 생성 또는 get 메서드 생성
// public String data;

private String data;

public String getData() {
return data;
}



/**
 * Launch the application.
 
public static void main(String[] args) {   
try {
JDialogEx02 dialog = new JDialogEx02();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
*/
/**
 * Create the dialog.
 */
public JDialogEx02(String data) {
setBounds(100, 100, 450, 300);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(null);
{
txt01 = new JTextField();
txt01.setBounds(12, 10, 192, 21);
contentPanel.add(txt01);
txt01.setColumns(10);

// JFrame에서 넘겨받은 데이터 삽입
txt01.setText("");
txt01.setText(data);
}
{
JButton btn01 = new JButton("New button");
btn01.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {

JDialogEx02.this.data = txt01.getText();
JDialogEx02.this.dispose();

}
});
btn01.setBounds(107, 41, 97, 23);
contentPanel.add(btn01);
}
{
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{
JButton okButton = new JButton("OK");
okButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {

JDialogEx02.this.dispose();

}
});
okButton.setActionCommand("OK");
buttonPane.add(okButton);
getRootPane().setDefaultButton(okButton);
}
{
JButton cancelButton = new JButton("Cancel");
cancelButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
JDialogEx02.this.dispose();
}
});
cancelButton.setActionCommand("Cancel");
buttonPane.add(cancelButton);
}
}
}

}

 

 

GugudanJFrame.java - Dialog를 사용해서 시작단과 끝단의 구구단 출력하기 
import java.awt.EventQueue;
import java.awt.Rectangle;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.border.TitledBorder;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class GugudanJFrame extends JFrame {

private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JLabel lblNewLabel;
private JLabel lblNewLabel_1;
private JButton btnNewButton;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GugudanJFrame frame = new GugudanJFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public GugudanJFrame() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);
contentPane.setLayout(null);

JPanel panel = new JPanel();
panel.setBorder(new TitledBorder(null, "\uAD6C\uAD6C\uB2E8", TitledBorder.LEADING, TitledBorder.TOP, null, null));
panel.setBounds(12, 10, 554, 106);
contentPane.add(panel);
panel.setLayout(null);

lblNewLabel = new JLabel("시작 단");
lblNewLabel.setBounds(12, 37, 57, 15);
panel.add(lblNewLabel);

lblNewLabel_1 = new JLabel("끝 단");
lblNewLabel_1.setBounds(12, 62, 57, 15);
panel.add(lblNewLabel_1);

textField = new JTextField();
textField.setBounds(81, 34, 357, 21);
panel.add(textField);
textField.setColumns(10);

textField_1 = new JTextField();
textField_1.setBounds(81, 59, 357, 21);
panel.add(textField_1);
textField_1.setColumns(10);

btnNewButton = new JButton("출력");
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {

String data01 = textField.getText();
String data02 = textField_1.getText();

GugudanJDialog dialog = new GugudanJDialog(data01,data02);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

Rectangle frameBounds = GugudanJFrame.this.getBounds();
int fx = (int)frameBounds.getX();
int fy = (int)frameBounds.getY();
int fwidth = (int)frameBounds.getWidth();
int fheight = (int)frameBounds.getHeight();

int dwidht = 450;
int dheight = 300;

dialog.setBounds(fwidth/2 - dwidht/2 + fx,
fheight/2 - dheight/2 + fy,
dwidht,dheight
);


dialog.setModal(true);
dialog.setVisible(true);

}
});
btnNewButton.setBounds(445, 33, 97, 44);
panel.add(btnNewButton);
}
}

 

GugudanJDialog.java - 구구단 출력 Dialog
import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextArea;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JScrollPane;

public class GugudanJDialog extends JDialog {

private final JPanel contentPanel = new JPanel();

/**
 * Launch the application.

public static void main(String[] args) {
try {
GugudanJDialog dialog = new GugudanJDialog();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
*/
/**
 * Create the dialog.
 */
public GugudanJDialog(String data01,String data02) {
setBounds(100, 100, 450, 300);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(null);
{
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(12, 10, 410, 208);
contentPanel.add(scrollPane);

JTextArea textArea = new JTextArea();
scrollPane.setViewportView(textArea);
textArea.setText("");

int dan01 = Integer.parseInt(data01); 
int dan02 = Integer.parseInt(data02); 

for (int i=dan01; i<=dan02; i++) {
textArea.append(i+"단");
textArea.append(System.lineSeparator());
for(int j=1; j<=9; j++) {
textArea.append(i+"X"+j+"="+(i*j));
textArea.append(System.lineSeparator());
}
}
}




{
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{
JButton cancelButton = new JButton("Cancel");
cancelButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {

GugudanJDialog.this.dispose();
}
});
cancelButton.setActionCommand("Cancel");
buttonPane.add(cancelButton);
}
}
}
}

 

결과

 

JFileChooserEx01.java - 파일 선택하기
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.JButton;
import javax.swing.JFileChooser;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class JFileChooserEx01 extends JFrame {

private JPanel contentPane;
private JButton btn2;
private JButton btnNewButton;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JFileChooserEx01 frame = new JFileChooserEx01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public JFileChooserEx01() {


setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);
contentPane.setLayout(null);

btnNewButton = new JButton("New button");
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {

BufferedReader bis = null;

// 열기가 나오면 openfileChooser ( 설정된 폴더가없으면 document 가 기본 으로나옴 )
JFileChooser fileChooser = new JFileChooser("c:\\");

FileNameExtensionFilter filter = new FileNameExtensionFilter("java Source", "java" );
fileChooser.setFileFilter(filter);

int result = fileChooser.showOpenDialog(JFileChooserEx01.this);
if ( result == JFileChooser.APPROVE_OPTION) {
System.out.println("확인");
// 파일 경로 
System.out.println(fileChooser.getSelectedFile().getName());
System.out.println(fileChooser.getSelectedFile().getAbsolutePath());

// 파일 내용을 읽는 방법은 I/O를 사용한다.
try {
bis = new BufferedReader(new FileReader(fileChooser.getSelectedFile()));

String data = null;
while((data = bis.readLine())!= null) {
System.out.println(data);
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}finally {
if( bis != null) try { bis.close();} catch(IOException e1) {}
}

}else if(result == JFileChooser.CANCEL_OPTION) {
System.out.println("취소");
}else {
System.out.println("기타");
}

}
});
btnNewButton.setBounds(12, 10, 97, 23);
contentPane.add(btnNewButton);

btn2 = new JButton("New button");
btn2.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// 저장 기능 버튼
JFileChooser fileChooser = new JFileChooser();    // 파일을 선택해서 다른이름으로 저장 가능
fileChooser.showSaveDialog(JFileChooserEx01.this);
}
});
btn2.setBounds(12, 43, 97, 23);
contentPane.add(btn2);
}

}

결과

 

 

 

JFileChooserEx02.java - 파일을 열고 다른이름으로 저장할 수 있는 프로그램
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.JButton;
import javax.swing.JFileChooser;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;

public class JFileChooserEx02 extends JFrame {

private JPanel contentPane;
private JButton btn2;
private JButton btnNewButton;
private JScrollPane scrollPane;
private JTextArea textArea;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JFileChooserEx02 frame = new JFileChooserEx02();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public JFileChooserEx02() {


setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1000, 600);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);
contentPane.setLayout(null);

btnNewButton = new JButton("열기");
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {

BufferedReader bis = null;

JFileChooser fileChooser = new JFileChooser("c:\\java\\javaStudy");

FileNameExtensionFilter filter = new FileNameExtensionFilter("java Source", "java" );   //java파일만 뜰 수 있도록 함
fileChooser.setFileFilter(filter);

int result = fileChooser.showOpenDialog(JFileChooserEx02.this);

if ( result == JFileChooser.APPROVE_OPTION) {
System.out.println("확인");

try {
bis = new BufferedReader(new FileReader(fileChooser.getSelectedFile()));

String data = null;
while((data = bis.readLine())!= null) {
textArea.append(data);
textArea.append(System.lineSeparator());
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}finally {
if( bis != null) try { bis.close();} catch(IOException e1) {}
}

}else if(result == JFileChooser.CANCEL_OPTION) {
System.out.println("취소");
}else {
System.out.println("기타");
}

}
});
btnNewButton.setBounds(12, 23, 97, 23);
contentPane.add(btnNewButton);

btn2 = new JButton("저장");
btn2.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// 저장 기능 버튼
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showSaveDialog(JFileChooserEx02.this);


BufferedWriter bw = null;

try {
// 수빈아 버퍼로 받고 경로 지정
bw = new BufferedWriter(new FileWriter(fileChooser.getSelectedFile()));
// 요거 한줄쓰면 그냥 개꿀딱으로 바로 저장해준다
bw.write(textArea.getText());
} catch (IOException e1) {
e1.printStackTrace();
}finally {
if (bw !=null) try {bw.close();}catch(IOException e1){}
}


}
});
btn2.setBounds(121, 23, 97, 23);
contentPane.add(btn2);

scrollPane = new JScrollPane();
scrollPane.setBounds(12, 56, 938, 398);
contentPane.add(scrollPane);

textArea = new JTextArea();
scrollPane.setViewportView(textArea);
}

}

파일을 열어 텍스트로 나타내기
나타낸 텍스트에 다른이름으로 저장
저장한 텍스트 파일 확인

 

 

JColorChooserEx01.java - 색변경
import java.awt.Color;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JColorChooser;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JLabel;
import javax.swing.JSlider;
import java.awt.event.MouseMotionAdapter;

public class JColorChoolserEx01 extends JFrame {

private JPanel contentPane;
private JButton btn;
private JLabel lbl;
private JSlider slider01;
private JSlider slider02;
private JSlider slider03;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JColorChoolserEx01 frame = new JColorChoolserEx01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public JColorChoolserEx01() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setBackground(Color.GREEN);

setContentPane(contentPane);
contentPane.setLayout(null);

lbl = new JLabel("글자색 변경하기");
lbl.setBackground(new Color(255, 0, 0));
lbl.setForeground(Color.LIGHT_GRAY);
lbl.setBounds(12, 43, 242, 15);
contentPane.add(lbl);

slider01 = new JSlider();     //슬라이더를 통해 색을 변경한다
slider01.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
contentPane.setBackground(new Color(slider01.getValue(),slider02.getValue(),slider03.getValue()));
}
});
slider01.setValue(0);    //값의 최소를 0
slider01.setMaximum(255);    //값의 최대를 255로 설정
slider01.setBounds(12, 131, 200, 26);
contentPane.add(slider01);

slider02 = new JSlider();
slider02.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
contentPane.setBackground(new Color(slider01.getValue(),slider02.getValue(),slider03.getValue()));
}
});
slider02.setValue(0);
slider02.setMaximum(255);
slider02.setBounds(12, 167, 200, 26);
contentPane.add(slider02);

slider03 = new JSlider();
slider03.addMouseMotionListener(new MouseMotionAdapter() {
@Override 
public void mouseDragged(MouseEvent e) {
contentPane.setBackground(new Color(slider01.getValue(),slider02.getValue(),slider03.getValue()));
}
});
slider03.setValue(0);
slider03.setMaximum(255);
slider03.setBounds(12, 203, 200, 26);
contentPane.add(slider03);

btn = new JButton("New button");
btn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {


// 만들어져있는 Dialog임
// Color 는 Color 는 객체에서 가져온것
Color color = JColorChooser.showDialog(JColorChoolserEx01.this, "팔레트", Color.RED);    //color에 대한 만들어져 있는 Dialog를 불러온다

// 취소를 누르면 null 익셉션 발생
// 이와같은 에러를 확인해줘야한다.
if (color != null) {
/*System.out.println(color.toString());
System.out.println(color.getRed());
System.out.println(color.getGreen());
System.out.println(color.getBlue());*/

lbl.setForeground(new Color(color.getRed(),color.getGreen(),color.getBlue()));     //글자 색 변경하기 라벨에 설정한 색을 적용한다

}else {
System.out.println("취소");
}
}
});
btn.setBounds(12, 10, 97, 23);
contentPane.add(btn);

}
}

결과

 

+) RGBColor.java - 색의 RGB를 조절하기
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextArea;
import java.awt.Color;
import javax.swing.JSlider;
import javax.swing.JLabel;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JColorChooser;

import java.awt.event.MouseAdapter;

public class RGBColor extends JFrame {

private JPanel contentPane;
private JSlider slider01;
private JSlider slider02;
private JSlider slider03;
private JLabel lblRed;
private JLabel lblBlue;
private JLabel lblGreen;
private JLabel lblRed02;
private JLabel lblGreen02;
private JLabel lblBlue02;
private JTextArea textArea;
private JButton btnNewButton;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
RGBColor frame = new RGBColor();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public RGBColor() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);
contentPane.setLayout(null);

textArea = new JTextArea();
textArea.setBackground(Color.RED);
textArea.setBounds(12, 10, 560, 51);
contentPane.add(textArea);

slider01 = new JSlider();
slider01.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
textArea.setBackground(new Color(slider01.getValue(),slider02.getValue(),slider03.getValue()));

lblRed02.setText(String.valueOf(slider01.getValue()));
}
});
slider01.setMaximum(255);
slider01.setBounds(12, 93, 200, 26);
contentPane.add(slider01);

lblRed = new JLabel("RED");
lblRed.setBounds(12, 71, 57, 15);
contentPane.add(lblRed);

slider02 = new JSlider();
slider02.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
textArea.setBackground(new Color(slider01.getValue(),slider02.getValue(),slider03.getValue()));

lblGreen02.setText(String.valueOf(slider02.getValue()));
}
});
slider02.setMaximum(255);
slider02.setBounds(12, 150, 200, 26);
contentPane.add(slider02);

lblGreen = new JLabel("Green");
lblGreen.setBounds(12, 129, 57, 15);
contentPane.add(lblGreen);

slider03 = new JSlider();
slider03.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
textArea.setBackground(new Color(slider01.getValue(),slider02.getValue(),slider03.getValue()));

lblBlue02.setText(String.valueOf(slider03.getValue()));
}
});
slider03.setMaximum(255);
slider03.setBounds(12, 209, 200, 26);
contentPane.add(slider03);

lblBlue = new JLabel("Blue");
lblBlue.setBounds(12, 186, 57, 15);
contentPane.add(lblBlue);

lblRed02 = new JLabel("");
lblRed02.setBounds(234, 104, 57, 15);
contentPane.add(lblRed02);

lblGreen02 = new JLabel("");
lblGreen02.setBounds(234, 151, 57, 15);
contentPane.add(lblGreen02);

lblBlue02 = new JLabel("");
lblBlue02.setBounds(234, 198, 57, 15);
contentPane.add(lblBlue02);

btnNewButton = new JButton("ChooseColor");
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {

Color color = JColorChooser.showDialog(RGBColor.this, "팔레트", Color.RED);

if (color != null) {

textArea.setBackground(new Color(color.getRed(),color.getGreen(),color.getBlue()));

int red = color.getRed(); // Red 값 추출
int green = color.getGreen(); // Green 값 추출
int blue = color.getBlue(); // Blue 값 추출

slider01.setValue(red);
slider02.setValue(green);
slider03.setValue(blue);

lblRed02.setText(String.valueOf(slider01.getValue()));
lblGreen02.setText(String.valueOf(slider02.getValue()));
lblBlue02.setText(String.valueOf(slider03.getValue()));

}else {
System.out.println("취소");
}
}
});
btnNewButton.setBounds(406, 78, 166, 23);
contentPane.add(btnNewButton);
}

}

결과

 

 

JMenuEx01.java - 메뉴만들기
import java.awt.EventQueue;


import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JCheckBoxMenuItem;


public class JMenuEx01 extends JFrame {


private JPanel contentPane;


/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JMenuEx01 frame = new JMenuEx01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}


/**
* Create the frame.
*/
public JMenuEx01() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);

JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar); //menyBar생성

JMenu mn1 = new JMenu("파일");



menuBar.add(mn1);

JMenuItem mntm1 = new JMenuItem("열기");
mntm1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { //클릭과 Enter둘다 기능 사용 가능해짐
System.out.println("열기 클릭");
}
});

mn1.add(mntm1);

mn1.addSeparator(); //item사이에 중간선을 만든다.

JMenuItem mntm2 = new JMenuItem("저장");
mn1.add(mntm2);

mn1.addSeparator();

JMenuItem mntm3 = new JMenuItem("다른이름으로 저장");
mn1.add(mntm3);

JCheckBoxMenuItem chck1 = new JCheckBoxMenuItem("사과");
chck1.setSelected(true);
mn1.add(chck1);

JCheckBoxMenuItem chck2 = new JCheckBoxMenuItem("수박");
mn1.add(chck2);

JCheckBoxMenuItem chck3 = new JCheckBoxMenuItem("참외");
mn1.add(chck3);


JMenu mn2 = new JMenu("홈");
menuBar.add(mn2);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));


setContentPane(contentPane);
contentPane.setLayout(null); //nullLayout
}
}

결과

 

JMenuBar

   - JMenu

- Menubar는 길게 생성

- Item을 밑에 추가하여 선택내용 생성 가능

 

 

 

 

BorderLayout - 모두 5개의 영역으로 나누고, 각 영역에 하나의 컴포넌트만 넣을 수 있다.

- 한 영역에 하나 이상의 컴포넌트를 넣으려면 Panel(Flow Layout)을 사용하면 된다.

 

BoardLayoutEx01.java - BoarderLayout을 통해 레이아웃 설정
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.BorderLayout;
import javax.swing.JButton;

public class BoardLayoutEx01 extends JFrame {

private JPanel contentPane;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
BoardLayoutEx01 frame = new BoardLayoutEx01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public BoardLayoutEx01() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(5, 5));


JButton btnNewButton_1 = new JButton("New button");
contentPane.add(btnNewButton_1, BorderLayout.SOUTH);

JButton btnNewButton_2 = new JButton("New button");
contentPane.add(btnNewButton_2, BorderLayout.WEST);

JButton btnNewButton_3 = new JButton("New button");
contentPane.add(btnNewButton_3, BorderLayout.CENTER);

JButton btnNewButton_4 = new JButton("New button");
contentPane.add(btnNewButton_4, BorderLayout.EAST);

JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.NORTH);    //

JButton btnNewButton = new JButton("New button");
panel.add(btnNewButton);

JButton btnNewButton_5 = new JButton("New button");
panel.add(btnNewButton_5);

JButton btnNewButton_6 = new JButton("New button");
panel.add(btnNewButton_6);
}

}

 

 

container은 생성하면 Layout도 설정 가능하다 (Containers -> JPanel선택)

North만 Panel 나머지는 BoderLayout

 

 

grid.java - GridLayout을 통해 레이아웃 설정
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;

public class grid extends JFrame {

private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
grid frame = new grid();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public grid() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);
contentPane.setLayout(null);

JPanel panel_1 = new JPanel();
panel_1.setBounds(5, 5, 574, 101);
contentPane.add(panel_1);
panel_1.setLayout(null);

textField = new JTextField();
textField.setEditable(false);
textField.setBounds(42, 40, 204, 21);
panel_1.add(textField);
textField.setColumns(10);

textField_1 = new JTextField();
textField_1.setEditable(false);
textField_1.setBounds(335, 40, 204, 21);
panel_1.add(textField_1);
textField_1.setColumns(10);

JLabel lblNewLabel = new JLabel("~");
lblNewLabel.setBounds(284, 43, 57, 15);
panel_1.add(lblNewLabel);

JPanel panel_2 = new JPanel();
panel_2.setBounds(5, 116, 574, 477);
contentPane.add(panel_2);
panel_2.setLayout(new GridLayout(4, 3, 3, 3));

JButton btn1 = new JButton("7");
panel_2.add(btn1);

JButton btn2 = new JButton("8");
panel_2.add(btn2);

JButton btn3 = new JButton("9");
panel_2.add(btn3);

JButton btn4 = new JButton("4");
panel_2.add(btn4);

JButton btn5 = new JButton("5");
panel_2.add(btn5);

JButton btn6 = new JButton("6");
panel_2.add(btn6);

JButton btn7 = new JButton("1");
panel_2.add(btn7);

JButton btn8 = new JButton("2");
panel_2.add(btn8);

JButton btn9 = new JButton("3");
panel_2.add(btn9);

JButton btn10 = new JButton("0");
panel_2.add(btn10);

JButton btn11 = new JButton("DEL");
panel_2.add(btn11);

JButton btn12 = new JButton("검사");
panel_2.add(btn12);

JPanel panel = new JPanel();
panel.setBounds(5, 603, 574, 153);
contentPane.add(panel);
panel.setLayout(null);

textField_2 = new JTextField();
textField_2.setText("결과:");
textField_2.setEditable(false);
textField_2.setBounds(12, 10, 550, 21);
panel.add(textField_2);
textField_2.setColumns(10);
}
}

 

결과

 

 

 

버튼

- 마우스 동작

MouseListener

    MouseEventListener

     추상메서드(핸들러)

     mouseClicked

     mousePressed

     mouseReleased

     mouseEntered

     mouseExited

 

    MouseWheelEventListener

    Wheel도 MouseEventListener과 동일

   

 

EventEx01.java - 이벤트 처리하기
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;


import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;


public class EventEx01 extends JFrame {


private JPanel contentPane;


/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
EventEx01 frame = new EventEx01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}


/**
* Create the frame.
*/
public EventEx01() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));


setContentPane(contentPane);
contentPane.setLayout(null);

JButton btn1 = new JButton("New button");
btn1.setBounds(24, 22, 97, 23);
//click -> MouseListener -> addMouseListener
btn1.addMouseListener(new MouseListener() {

//핸들러
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("mouseReleased(MouseEvent e)");
}

@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("mousePressed(MouseEvent e)");
}

@Override
public void mouseExited(MouseEvent e) { //버튼에 마우스가 내려갔을 때
// TODO Auto-generated method stub
System.out.println("mouseExited(MouseEvent e)");
}

@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("mouseEntered(MouseEvent e)"); //버튼에 마우스가 올라가있을 때
}

@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("mouseClicked(MouseEvent e)");
}
});
contentPane.add(btn1);

JButton btn2 = new JButton("버튼2");
btn2.setBounds(24, 67, 321, 164);
btn2.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("mouseClicked(MouseEvent e)"); //필요한 핸들러만 사용할 수 있도록 한다.

System.out.println(e.getX()); //클릭한 위치의 좌표 확인 가능
System.out.println(e.getY());
System.out.println(e.getClickCount()); //몇 번 클릭했는 지 확인 가능
System.out.println(e.getSource()); //이벤트 발생 소스확인 가능 ( 버튼을 클릭한거면 버튼에 대한 속성내용을 확인 가능하다)

JButton btn =(JButton)e.getSource();
System.out.println(btn.getText()); //버튼의 이름을 가져와서 확인 가능하다



}
});
contentPane.add(btn2);
}
}

버튼을 눌렀을 때 마우스의 상태와 버튼에 대한 정보가 출력된다.

 

 

EventEx02.java - 클릭했을 때 처리 할 버튼이 많을 때 중앙제어를 할 수 있도록 하는 코드
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;


import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;


public class EventEx02 extends JFrame {


private JPanel contentPane;


/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
EventEx02 frame = new EventEx02();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}


/**
* Create the frame.
*/
public EventEx02() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));


setContentPane(contentPane);
contentPane.setLayout(null);

JButton btn1 = new JButton("button1");
btn1.addMouseListener(new CustomMouseEvent3());
btn1.setBounds(12, 21, 97, 23);
btn1.setName("button1"); //이름값을 내부적으로 처리 가능
contentPane.add(btn1);

JButton btn2 = new JButton("button2");
btn2.addMouseListener(new CustomMouseEvent3());
btn2.setBounds(12, 54, 97, 23);
btn2.setName("button2");
contentPane.add(btn2);

JButton btn3 = new JButton("button3");
btn3.addMouseListener(new CustomMouseEvent3());
btn3.setBounds(12, 87, 97, 23);
btn3.setName("button3");
contentPane.add(btn3);
}
CustomMouseEvent3.java - 핸들러와 어댑터를 따로 떼어낸 클래스
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;


import javax.swing.JButton;


class CustomMouseEvent1 implements MouseListener{


@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("mouseClicked(MouseEvent e)");
}


@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub

}


@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub

}


@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}


@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}
}


public class CustomMouseEvent3 extends MouseAdapter {

@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("mouseClicked(MouseEvent e)");
JButton btn = (JButton)e.getSource();
System.out.println(btn.getText());
System.out.println(btn.getName());
}


}
}

결과

 

=> 버튼이 여러개고 처리 할 이벤트가 여러개가 되면 중앙에서 통합처리가 가능하도록 이벤트를 묶을 수 있다.

 

 

CardLayoutEx01.java - 버튼을 클릭하면 각각 다른 화면이 나옴 (구구단 출력)
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.BorderLayout;
import javax.swing.JButton;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;

public class CardLayoutEx01 extends JFrame {

private JPanel contentPane;
private JPanel panel2;
private JTextArea textArea1;
private JTextArea textArea2;
private JTextArea textArea3;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
CardLayoutEx01 frame = new CardLayoutEx01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public CardLayoutEx01() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));

JPanel panel1 = new JPanel();
contentPane.add(panel1, BorderLayout.NORTH);

JButton btn1 = new JButton("1단");
btn1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//panel2_1/ name_282375442508400
((CardLayout)panel2.getLayout()).show(panel2,"name_282375442508400");

textArea1.setText(gugudan("1"));

}
});
panel1.add(btn1);

JButton btn2 =new JButton("2단");
btn2.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//panel2_2/ name_282393855371000
((CardLayout)panel2.getLayout()).show(panel2,"name_282393855371000");
textArea2.setText(gugudan("2"));
}
});
panel1.add(btn2);

JButton btn3 = new JButton("3단");
btn3.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//panel2_3 / name_282415314988200
((CardLayout)panel2.getLayout()).show(panel2,"name_282415314988200");

textArea3.setText(gugudan("3"));
}
});
panel1.add(btn3);

panel2 = new JPanel();
contentPane.add(panel2, BorderLayout.CENTER);
panel2.setLayout(new CardLayout(0, 0));

JPanel panel2_1 = new JPanel();        //panel위에 panel을 올린것
panel2_1.setBackground(Color.LIGHT_GRAY);
panel2.add(panel2_1, "name_282375442508400");
panel2_1.setLayout(null);


JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(34, 27, 515, 465);
panel2_1.add(scrollPane);

textArea1 = new JTextArea();
textArea1.setEditable(false);
scrollPane.setViewportView(textArea1);

JPanel panel2_2 = new JPanel();
panel2_2.setBackground(Color.LIGHT_GRAY);
panel2.add(panel2_2, "name_282393855371000");
panel2_2.setLayout(null);

JScrollPane scrollPane_1 = new JScrollPane();
scrollPane_1.setBounds(29, 25, 515, 451);
panel2_2.add(scrollPane_1);

textArea2 = new JTextArea();
scrollPane_1.setViewportView(textArea2);
textArea2.setEditable(false);

JPanel pane2_3 = new JPanel();
pane2_3.setBackground(Color.LIGHT_GRAY);
panel2.add(pane2_3, "name_282415314988200");
pane2_3.setLayout(null);

JScrollPane scrollPane_2 = new JScrollPane();
scrollPane_2.setBounds(30, 22, 513, 443);
pane2_3.add(scrollPane_2);

textArea3 = new JTextArea();
scrollPane_2.setViewportView(textArea3);
textArea3.setEditable(false);
}

public String gugudan(String num) {
String result="";
for(int i=1; i<=9;i++) {
result+= num+"x"+i+"="+ Integer.parseInt(num)*i+"\n";
}
return result;
}
}

 

결과


우편번호를 검색해서 Frame textfield에 해당 검색 내용이 출력될 수 있도록 만들기

우편번호 검색 버튼을 누르면 다이얼로그 켜짐 (완)
우편번호 검색내용이 나오면 해당 내용이 AREA에 들어가게 된다.
(검색내용을 가져와서 다이얼로그에 표시하기)

우편번호 검색(완료)

- 다른것도 검색했을 대 뜰 수 있도록 최종 결과물만 text에 뜨도록 만들기

728x90
반응형

'Programming > JAVA' 카테고리의 다른 글

[JAVA] 데이터 출력 (xml, json)  (0) 2023.09.21
[JAVA] Network  (0) 2023.09.19
[JAVA] GUI(4)  (0) 2023.09.15
[JAVA] GUI(3)  (0) 2023.09.14
[JAVA] GUI(2)  (0) 2023.09.12