package p0621combobox;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class ComboBox_Ex<E> extends JFrame {
JPanel pNorth, pCenter, pSouth;
JLabel l1, l2;
JTextField t1, t2;
JTextArea area;
JButton cal, reset;
JComboBox<String> cb;
ComboBox_Ex() {
setTitle("원의 넓이 구하기");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(800, 300, 300, 230);
showNorth();
showCenter();
showSouth();
setVisible(true);
}
void showNorth() {
pNorth = new JPanel();
pNorth.setLayout(new GridLayout(2, 2));
l1 = new JLabel("원의 반지름");
t1 = new JTextField(10);
l2 = new JLabel("원의 넓이");
t2 = new JTextField(10);
pNorth.add(l1);
pNorth.add(t1);
pNorth.add(l2);
pNorth.add(t2);
add("North", pNorth);
}
void showCenter() {
pCenter = new JPanel();
area = new JTextArea(30, 20);
area.setText("반지름을 입력하세요!!!");
area.setForeground(Color.RED);
pCenter.add(area);
add("Center", pCenter);
}
void showSouth() {
pSouth = new JPanel();
String[] color = { "red", "blue", "green" };
pSouth = new JPanel(new FlowLayout(FlowLayout.CENTER, 10, 10));
/* 계산버튼 */
cal = new JButton("계산");
cal.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JButton btn = (JButton) e.getSource();
if (btn.getText() == "계산") {
Double r = Double.parseDouble(t1.getText()); // 문자열을 숫자로
double r2 = r * r * 3.14;
String str = Double.toString(r2); // 숫자를 문자열로
t2.setText(str + "");
area.setText("원의 반지름: " + r + "\n원의 넓이: " + r + "*" + r + "*" + "3.14" + "=" + str);
}
}
});
/* 콤보박스 */
cb = new JComboBox<>(color);
cb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String str = (String) cb.getSelectedItem();
if (str.equals("red")) {
area.setForeground(Color.red);
}
if (str.equals("blue")) {
area.setForeground(Color.blue);
}
if (str.equals("green")) {
area.setForeground(Color.green);
}
}
});
/* 리셋버튼 */
reset = new JButton("리셋");
reset.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
t1.setText("");
t2.setText("");
area.setText("");
}
});
pSouth.add(cal);
pSouth.add(cb);
pSouth.add(reset);
add("South", pSouth);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new ComboBox_Ex();
}
}
'IT > Java' 카테고리의 다른 글
Java GUI (겜블링 게임) (0) | 2021.06.24 |
---|---|
Java GUI (피자주문) (0) | 2021.06.24 |
Java (상속_친구정보 등록관리_검색,삭제) (0) | 2021.06.11 |
Java (상속_친구정보 등록관리_저장,출력) (0) | 2021.06.11 |
Java (메소드_콘서트예약프로그램) (0) | 2021.05.31 |