아래 가계부좀 알려달라고 했는데.....
너무 무작정 알려달라고 하면 안될것같아서
제 나름대로 기본틀만 만들어 봤습니다.
근데.....
작동이 제대로 되지 않습니다.
제가 짠것으로는 오류가 나지 않는데...
기본요소만 갖춘 가계부가 되기는 아직 갈길이 먼것같아요 ㅡㅡ;
제가 텍스트 필드를 2개를 만들었는데....
그중에 하나를 금액을 기입하고,
그것들을 들어온돈 나간돈들 계산을 하고 싶은데
그것을 어떻게 하는지 모르겠어요.
그것만이라도 알려주심 안될까요???
어쨌든 제가 짠 소스를 올릴게요
가르침좀 부탁드려요~^ㅇ^
import java.awt.*;
import java.awt.event.*;
public class Myfinance extends Panel{
Panel left_panel;
Panel right_panel;
Button income,outgo, modify, close;
List lst;
TextField contents, money;
FinanceActor actor;
int itemIndex;
public Myfinance(){
actor = new FinanceActor(this);
setLayout(new BorderLayout());
makeRight();
makeLeft();
}
public void makeRight(){
right_panel = new Panel();
right_panel.setLayout(new GridLayout(6,1));
contents = new TextField(20);
money = new TextField(20);
income = new Button(들어온돈);
income.addActionListener(actor);
outgo = new Button(나간돈);
outgo.addActionListener(actor);
modify = new Button(수정);
modify.addActionListener(actor);
close = new Button(종료);
close.addActionListener(actor);
right_panel.add(contents);
right_panel.add(money);
right_panel.add(income);
right_panel.add(outgo);
right_panel.add(modify);
right_panel.add(close);
add(right_panel,West);
}
public void makeLeft(){
lst = new List(10);
add(lst,Center);
}
public void incomehangmok(){
if(contents.getText().length() != 0 && money.getText().length() !=0)
lst.add(contents.getText());
contents.setText();
lst.add(money.getText());
money.setText();
}
public void outgohangmok(){
if(contents.getText().length() != 0 && money.getText().length() !=0)
lst.add(contents.getText());
contents.setText();
lst.add(money.getText());
money.setText();
}
public void modify(int mode){
if(mode == 0){
if(lst.getSelectedItem() != null){
itemIndex = lst.getSelectedIndex();
contents.setText(lst.getSelectedItem());
contents.setEnabled(false);
outgo.setEnabled(false);
lst.setEnabled(false);
modify.setLabel(저장);
}
}else if(mode == 1){
outgohangmok();
lst.add(contents.getText(),itemIndex);
modify.setLabel(수정);
contents.setEnabled(true);
outgo.setEnabled(true);
lst.setEnabled(true);
contents.setText();
itemIndex = 0;
}
}public static void main(String[] args){
Myfinance finance = new Myfinance();
Frame f = new Frame(용돈 관리 프로그램);
f.add(finance);
f.pack();
f.setVisible(true);
//종료 버튼을 누르면 종료하게 만들기 ----
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent w){
System.exit(0);
}
});
}
} class FinanceActor implements ActionListener
{
Myfinance myfinance;
String command;
public FinanceActor(Myfinance finance){
myfinance = finance;
}
public void actionPerformed(ActionEvent e){
command = e.getActionCommand();
System.out.println(command);
if(command.equals(들어온돈))
myfinance.incomehangmok();
else if(command.equals(나간돈))
myfinance.outgohangmok();
else if(command.equals(수정))
myfinance.modify(0);
else if(command.equals(저장))
myfinance.modify(1);
else
System.exit(0);
}
}
댓글 0