으으으.. 와방무식한거 같아.. ㅠ.ㅠ
내가 원하는 대로 구현이 안 되는 이 안타까움.. 어찌하오리까... =ㅇ=
옛날 코드를 긁어다가 테스트를 하면서 발생했던 문제점..
show() 메서드가 옛날꺼라서 컴파일 할때 뭐시기 뭐시기라고 경고가 나왔었는데
이 놈을 setVisible() 로 바꿔주니까 잘 된다능...
f.repaint() 이놈을 액숀이 발생할때 마다 호출 할려고 조기 안에 넣었는데 첨에는 안 된다 그랬어.
근데 JFrame 선언할때 final을 붙여 주니까 잘 되네? 흠흠.. 아직은 뭐가 뭔지 모르겠어 ㅠ.ㅠ
이런 개념도 없이 만들고 보는 구나 ㅋㅋ
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.JTable;
import javax.swing.border.*;
import java.sql.*;
public class Default_JTable extends JFrame {
// 테이블 헤더 데이터
public String[] col_name={"COL1","COL2"};
// 테이블에 포함될 데이터
public Object[][] data = new Object[50][2];
JTextField name;
// 생성자
public Default_JTable() {
final JFrame f = new JFrame();
Container cp = f.getContentPane();
cp.setLayout(new FlowLayout());
name = new JTextField("",10);
name.setCaretColor(Color.blue);
cp.add(new JLabel("검색조건 : "));
cp.add(name);
name.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent ae) {
for ( int j = 0 ; j < 50 ; j++ )
{
data[j][0] = "";
data[j][1] = "";
}
dataGet();
f.repaint();
}
}
);
JTable table=new JTable(data,col_name);
JScrollPane scrollPane = new JScrollPane(table);
cp.add(scrollPane, BorderLayout.CENTER);
f.setSize(500, 500);
f.setVisible(true);
}
public static void main(String[] args) {
Default_JTable default_JTable1 = new Default_JTable();
}
public void dataGet() {
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger");
stmt = con.createStatement();
rs = stmt.executeQuery("select col1,col2 from mytable where cond =" + "'" + name.getText().trim() + "'");
int i = 0;
while(rs.next()) {
data[i][0] = rs.getString("col1");
data[i][1] = rs.getString("col2");
i++;
}
}
catch(Exception e) {System.out.println(e);}
finally {
try {
if (con != null)
{
con.close();
}
}
catch (Exception e){}
}
}
}
댓글