글쓴이 :백승진 2000년 3월 31일 02:03:34
저는 요번에 스윙을 처음으로 써보게 되는데 비디오 대여점 관리프로그램을 짜야 해요(---> 숙제이거든요) 그런데 일단은 다음 소스와 같습니다.
마지막에 질문하는 것들 좀 꼭 보시고 고수님 제발 담변 부탁 드립니다. 제발...
오늘 swing 책 한권 사가지고 오기 까지 했는데 제가 정녕 필요한 부분은 없네요
하늘이 무너진듯 합니다.
/////////////////////////// 폼 소스 부분 ///////////////////////////////
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
class TableVideo extends JTable {
static JFrame frame;
String header[]={"테입ID","테입제목","제작사","테입가격","대출횟수","대여비","대출여부","대출자ID","대출자","대출날짜"};
String data[][]={
{"0","람보","미국영화사","10000","0","500","대출가능","","",""},
{"1","터미네이터","미국영화사","15000","0","1000","대출가능","","",""},
{"2","스피드","20세기영화사","10000","0","1000","대출가능","","",""},
{"3", "다이하드","다이영화사","15000","0","1000","대출가능","","",""},
{"4","초록물고기","한국영화사","10000","0","1000","대출가능","","",""}
};
TableVideo() {
setLayout(new BorderLayout());
DefaultTableModel model = new DefaultTableModel() {
public boolean isCellEditable(int row, int column) {
if ( column == 0 ) return false;
else return true;
}
};
model.setColumnIdentifiers(header);
for ( int i = 0 ; i < data.length ; i++ )
model.addRow(data[i]);
JTable table = new JTable(model);
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
JTable t = (JTable)e.getSource();
if ( e.getClickCount() < 2 ) return;
int x = e.getX();
int y = e.getY();
Point p = e.getPoint();
int row = t.rowAtPoint(p);
int column = t.columnAtPoint(p);
String msg = "Double Click \n" +
"x = " + x + " y = " + y + "\n" +
"column = " + column + " row = " + data[row][1];
JOptionPane.showMessageDialog(frame, msg);
}
});
add(new JScrollPane(table),BorderLayout.CENTER);
}
}
public class bsjvideo extends JFrame{
public bsjvideo(){
setTitle("비디오대여점");
JTextField xJTextField;
JTextField xJTextField_ID;
JComboBox xJComboBox;
JButton xJButton;
JButton xJButton_ID;
Container cpane;
cpane=getContentPane();
cpane.setLayout(new BorderLayout());
JMenuBar xMenuBar = new JMenuBar();
JMenu menu = new JMenu("테입관리");
menu.add(new JMenuItem("테입등록"));
menu.addSeparator();
menu.add(new JMenuItem("대여중테입보기"));
menu.add(new JMenuItem("미반납테입"));
xMenuBar.add(menu);
menu = new JMenu("회원관리");
menu.add(new JMenuItem("회원등록"));
menu.add(new JMenuItem("회원수정"));
menu.add(new JMenuItem("회원삭제"));
menu.add(new JMenuItem("회원검색"));
xMenuBar.add(menu);
menu = new JMenu("도움말");
menu.add(new JMenuItem("도움말보기"));
xMenuBar.add(menu);
setJMenuBar(xMenuBar);
String item[]={"대여가능테입","모두보기"};
JToolBar xToolPanel = new JToolBar();
xToolPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 1));
xToolPanel.add(new JLabel("테입(제목)"));
xToolPanel.add( xJTextField = new JTextField(20) );
xToolPanel.add( xJComboBox = new JComboBox(item));
xToolPanel.add( xJButton = new JButton("검색"));
xToolPanel.addSeparator();
xToolPanel.add(new JLabel(" 테잎ID"));
xToolPanel.add( xJTextField_ID = new JTextField(10) );
xToolPanel.add( xJButton_ID = new JButton("검색"));
cpane.add("Center",new TableVideo());
cpane.add("North",xToolPanel);
}
public static void main(String args[]){
JFrame mf=new bsjvideo();
mf.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
);
mf.pack();
mf.setSize(800,600);
mf.setVisible(true);
}
}
////////////////////여기 까지//////////////////////////////////////////
저는 파일 입출력으로 데이타를 저장하고 이 데이터를 테이블에 나타내고 수정,
추가,삭제 등을 할수 있게 하려는데 ......
위의 예에서도 보듯이 배열로 잡은 것 이외에는 되질 않아요 .
배열로 선언만 하고 데이터를 추가 하는 방법도 해 보았지만 ..에러가...
어떻게 데이블의 필드를 추가할수 있는지 방법좀 알려 주세요...
그리고 파일에서 배열에 데이타를 넣는 방법이 가능한지 ...( 이는 저의 생각)고수님의 답변 부탁 드립니다. ......