?? mainframe.java
字號:
package org.addressbook.ui;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.border.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.Color;
import org.addressbook.sql.*;
public class MainFrame extends JFrame implements ActionListener, MouseListener{
DBManager db=new DBManager();
JTextField queryText=new JTextField("請在此輸入要查詢姓名");
JButton bt_query=new JButton("查詢");
JButton bt_add= new JButton("添加");
JButton bt_return=new JButton("刷新");
JButton bt_delete=new JButton("刪除");
JTable tableView = new JTable();
public MainFrame() {
super("通訊錄");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設定關閉窗體時退出程序
////////////////以下的程序是設置JTable的內容/////////////////////
tableView.setModel(db);
tableView.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
setTool();
JScrollPane scrollpane = new JScrollPane(tableView);
scrollpane.setBorder(new BevelBorder(BevelBorder.LOWERED));
scrollpane.setPreferredSize(new Dimension(605, 500));
////////////////////////////////////////////////
JPanel top=new JPanel();
top.add(queryText);
top.add(bt_query);
JPanel bottom=new JPanel();
bottom.add(bt_add);
bottom.add(bt_return);
bottom.add(bt_delete);
JPanel pane=new JPanel();
pane.setLayout(new BorderLayout());
pane.add(top,BorderLayout.NORTH);
pane.add(scrollpane,BorderLayout.CENTER);
pane.add(bottom,BorderLayout.SOUTH);
//////////////////////////////////////////////////
bt_delete.addActionListener(this);
bt_add.addActionListener(this);
bt_query.addActionListener(this);
bt_return.addActionListener(this);
queryText.addMouseListener(this);
getContentPane().add(pane);
pack();
setVisible(true); setResizable(false);
setLocationRelativeTo(null);//設置位置居屏幕中央
}
public void setTool(){
JComboBox comboBox = new JComboBox();
comboBox.addItem("男");
comboBox.addItem("女");
TableColumn colorColumn = tableView.getColumn("性別");
colorColumn.setCellEditor(new DefaultCellEditor(comboBox));
DefaultTableCellRenderer colorColumnRenderer = new DefaultTableCellRenderer();
colorColumnRenderer.setBackground(Color.pink);
colorColumnRenderer.setToolTipText("Click for combo box");
colorColumn.setCellRenderer(colorColumnRenderer);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==bt_delete){
int i=tableView.getSelectedRow();
if(i>=0){
String id=db.getId(i);
db.executeUpdate("delete * from person where id="+id);
}
db.empty();
db.query("select * from person");setTool();
}
else if(e.getSource()==bt_add){
NewPerson np=new NewPerson();
np.setVisible(true);
}
else if(e.getSource()==bt_query){
db.empty();
String a=queryText.getText();
db.query("select * from person where name like'%"+a+"%'");setTool();
}
else if(e.getSource()==bt_return){
db.empty();
db.query("select * from person");
setTool();
}
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){queryText.setText("");}
public static void main(String[] args) {
new MainFrame();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -