/*import java.util.Scanner;
abstract class converter{
abstract protected double convert(double src);
abstract protected String getSrcString();
abstract protected String getDestString();
protected double ratio;
public void run() {
Scanner scanner=new Scanner(System.in);
System.out.println(getSrcString()+"을"+getDestString()+"로 바꿉니다.");
System.out.println(getSrcString()+"을 입력하세요>> ");
double val = scanner.nextDouble();
double res = convert(val);
System.out.println("변환결과: "+res+getDestString()+"입니다");
scanner.close();
}
}
class km2Mile extends converter{
public km2Mile(double x) {
ratio=x;
}
protected double convert(double src) {
return src/ratio;
}
protected String getSrcString() {
return "km";
}
protected String getDestString() {
return "Mile";
}
}
class Main{
public static void main(String[] args) {
km2Mile toMile = new km2Mile(1.6);
toMile.run();
}
}
*/
/*
class Point {
private int x, y; // 점의 위치를 저장하는 변수
public Point(int x, int y) {this.x=x;; this.y=y;}
public int getX() {return x;}
public int getY() {return y;}
protected void move(int x, int y) {this.x=x;this.y=y;}
}
class ColorPoint extends Point{
public String color; //색상을 저장하는 변수
ColorPoint(int x, int y, String c){
super(x,y);
color=c;
}
public void setXY(int x,int y) {
move(x, y);
}
public void setColor(String color) {
this.color=color;
}
public String toString() {
return color+"색의("+getX()+","+getY()+")의 점";
}
}
class Main{
public static void main(String[] args) {
ColorPoint cp=new ColorPoint(5,5, "Yellow");
cp.setXY(10, 20);
cp.setColor("RED");
String str = cp.toString();
System.out.println(str+"입니다.");
}
}
GUI : Graphical User Interface
그림으로된 사용자와의 상호작용
CUI : Command User Interface
글자로 사용자와 소통
1. container vs component
컨테이너 : 컴포넌트를 붙이는 곳 (프레임, 패널)
컴포넌트 : 스티커?종이?버튼? (버튼, 레이블,
---------------------------------------------------------------------
import javax.swing.*; //컴포넌트에 대한 정보가들어있음!!
import java.awt.*; // 컨테이너에 대한 정보가 들어있음!!
class Main extends JFrame{
Main(){
//컴포넌트 추가.. 뭐 이런것들 꾸미는 코드가 여기!!!
setSize(300, 200); // 가로, 세로
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
---------------------------------------------------------------------
//
import javax.swing.*; //컴포넌트에 대한 정보가들어있음!!
import java.awt.*; // 컨테이너에 대한 정보가 들어있음!!
class Main extends JFrame{
Main(){
Container c = getContentPane(); //현재 프레임을 c라고 하겠다! *** 필수!!!
c.setLayout(new FlowLayout()); // 컴포넌트를 넣는 순서대로 얘가 알아서 배치한다 (크기, 위치 못정함)
c.setBackground(Color.ORANGE); //컨테이너의 배경색을 오렌지색으로 정하겠다
JButton b = new JButton("click!"); // click! 버튼 만들기 (이름은 b)
JButton b1 = new JButton("me!!");
c.add(b); //컨테이너에 버튼 추가하기
c.add(b1);
b.setBackground(Color.GREEN); //컴포넌트의 배경색 설정
b.setForeground(Color.white); //컴포넌트의 글자색 설정
setSize(300, 200); // 가로, 세로 *** 필수!!!
setVisible(true); // 프레임 보이게할지?말지 *** 필수!!!
}
public static void main(String[] args) {
new Main();
}
}
*/
import javax.swing.*;
import java.awt.*;
class Main extends JFrame{
Main(){
Container c= getContentPane();
c.setLayout(new BorderLayout());
c.setBackground(Color.LIGHT_GRAY);
JButton a= new JButton("Black");
JPanel p = new JPanel();
p.setLayout(new FlowLayout());
JButton a2=new JButton("Black+");
JTextField tf = new JTextField(10);
JButton a3=new JButton("Black++");
a.setForeground(Color.black);
a2.setForeground(Color.black);
a3.setForeground(Color.black);
c.add(a,BorderLayout.NORTH);
p.add(a2);
p.add(tf);
p.add(a3);
c.add(p, BorderLayout.CENTER);
setSize(500, 200);
setVisible(true);
}
public static void main(String[]args) {
new Main();
}
}