📄 dbview.java
字号:
import java.sql.ResultSet;
import java.util.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
public class DBView extends JFrame implements Observer{
public JButton jb_del,jb_que,jb_ins,jb_upd;
public JTable jtable;
public ResultSetTableModel tabModel;
public JScrollPane js;
//menu
JMenuBar jbar;
public JMenu jmenu,jmenu_sys;
public JMenuItem jm_tinfo,jm_twage,jm_check,jm_query,jm_exit;
//popup menu
public JPopupMenu jpop;
public JMenuItem pop_del,pop_que,pop_ins,pop_upd;
public DBView(){
jb_del=new JButton("delete");
jb_que=new JButton("query");
jb_ins=new JButton("insert");
jb_upd=new JButton("update");
tabModel=new ResultSetTableModel();
//tabModel.setNumRows(10);
//tabModel.setColumnCount(10);
tabModel=null;
jtable=new JTable(tabModel);
//jtable.setEnabled(false);
js= new JScrollPane(jtable);
//add the menu
jbar=new JMenuBar();
jmenu=new JMenu("数据表");
jm_tinfo=new JMenuItem("info");
jm_twage=new JMenuItem("wage");
jm_check=new JMenuItem("check");
jm_query=new JMenuItem("enjoyQuery");
jmenu.add(jm_tinfo);
jmenu.addSeparator();
jmenu.addSeparator();
jmenu.add(jm_twage);
jmenu.addSeparator();
jmenu.addSeparator();
jmenu.add(jm_check);
jmenu.addSeparator();
jmenu.addSeparator();
jmenu.add(jm_query);
jbar.add(jmenu);
jmenu_sys=new JMenu("系统");
jm_exit=new JMenuItem("exit");
jmenu_sys.add(jm_exit);
jbar.add(jmenu_sys);
this.setJMenuBar(jbar);
JPanel jp1=new JPanel();
jp1.add(js);
JPanel jp2=new JPanel(new GridLayout(2,2));
jp2.add(jb_que);
jp2.add(jb_upd);
jp2.add(jb_del);
jp2.add(jb_ins);
Container jp=this.getContentPane();
jp.setLayout(new BorderLayout());
jp.add(jp1,BorderLayout.NORTH);
jp.add(jp2,BorderLayout.SOUTH);
//add popup menu
jpop=new JPopupMenu();
pop_ins=new JMenuItem("Insert",'i');
pop_del=new JMenuItem("Delete",'d');
pop_que=new JMenuItem("Query",'q');
pop_upd=new JMenuItem("Update",'u');
jpop.add(pop_ins);
jpop.add(pop_del);
jpop.add(pop_que);
jpop.add(pop_upd);
jp.add(jpop);
jtable.addMouseListener(new MouseAdapter()
{
public void mouseReleased(MouseEvent event)
{
if (event.isPopupTrigger()){
//指定弹出式菜单的父组件以及显示位置
jpop.setVisible(true);
jpop.show(event.getComponent(),
event.getX(), event.getY());
}
}
});
pack();
//setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void update(Observable o, Object arg1) {
DBModel model=(DBModel)o;
ResultSet rs=model.getResultSet();
tabModel=new ResultSetTableModel();
tabModel.setResult(rs);
jtable.setModel(tabModel);
model.updating=true;
}
public static void main(String [] args){
DBView dv=new DBView();
dv.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -