import java.awt.*
import java.awt.event.*
import javax.swing.*
import java.sql.*
import java.io.*
import com.sun.media.sound.*
public class Dictionary {
public Dictionary() {
}
public static void main(String[] args)
{
dicFrame frame = new dicFrame()
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setVisible(true)
}
}
class dicFrame extends JFrame
{
public dicFrame()
{
setTitle("Dictionary")
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT)
panel = new JPanel()
add(panel)
//菜单弊饥键栏
JMenu fileMenu = new JMenu("文件")
JMenuItem ECItem = new JMenuItem("英汉字典")
ECItem.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
text2.setText("请在上面输入肢肢英文!!!!")
}
})
JMenuItem CEItem = new JMenuItem("汉英字典")
CEItem.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
text2.setText("请在上面输入中文!!!!")
}
})
//备份词库
JMenuItem BackupItem = new JMenuItem("备份词库")
BackupItem.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
} catch (ClassNotFoundException ce) {
System.out.println(ce)
}
url = "jdbc:odbc:test"
String fileName
chooser = new JFileChooser()
frame = new JFrame()
chooser.setDialogTitle("备份词租巧库为")
try {
flag = chooser.showSaveDialog(frame)
} catch (HeadlessException h) {
System.out.println("Save File Dialog ERROR!")
}
if (flag == JFileChooser.APPROVE_OPTION) {
f = chooser.getSelectedFile()
fileName = chooser.getName(f)
fileName = chooser.getSelectedFile().getPath()
try {
File saveFile = new File(fileName)
FileWriter fw = new FileWriter(saveFile)
try
{
con = DriverManager.getConnection(url)
s = con.createStatement()
rs = s.executeQuery("SELECT * from 字典 ")
while (rs.next()) {
String a = rs.getString("单词")
String b = rs.getString("词语解释")
text2.append(a+b+"\n")
}
rs.close()
} catch (Exception ea) {
text2.setText("查询数据失败")
}
fw.write(text2.getText())
fw.close()
} catch (IOException ec) {
text2.setText(fileName)
}
text2.setText("词库备份成功!")
}
}
})
fileMenu.add(ECItem)
fileMenu.add(CEItem)
fileMenu.add(BackupItem)
fileMenu.addSeparator()
//退出监听器
fileMenu.add(new
AbstractAction("退出")
{
public void actionPerformed(ActionEvent event)
{
System.exit(0)
}
})
JMenu editMenu = new JMenu("编辑")
JMenuItem addItem = new JMenuItem("添加词汇")
addItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK))
//菜单栏增加监听器
addItem.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
if(text1.getText().equals(""))
text2.setText("没有输入内容!请重新增加!!!")
else
{
String s=text1.getText().trim()
String s1=text2.getText().trim()
text2.setText(new add().jadd(text1.getText().trim(),text2.getText().trim()))
text2.append(s+"\n"+s1+""+" "+"//"+"该内容已增加!!!")
}
}
})
//菜单栏修改监听器
JMenuItem updateItem = new JMenuItem("修改词汇")
updateItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK))
updateItem.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
if(text1.getText().equals(""))
text2.setText("没输入所要修改的内容!请重新输入!!!!")
else{
String s=text1.getText().trim()
text2.setText(new update().jupdate(text1.getText().trim(),
text2.getText().trim()))
text2.append(s+" "+"//"+"该内容已修改!!!")
}
}
})
//菜单栏删除监听器
JMenuItem deleteItem = new JMenuItem("删除词汇")
deleteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,InputEvent.CTRL_MASK))
deleteItem.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
if(text1.getText().equals(""))
text2.setText("没输入所要删除的内容!请重新输入!!!!")
else{
String s=text1.getText().trim()
text2.setText(new delete().jdelete(text1.getText().trim()))
text2.append(s+" "+"//"+"该内容已删除!!!")
}
}
})
editMenu.add(addItem)
editMenu.add(updateItem)
editMenu.add(deleteItem)
JMenu helpMenu = new JMenu("Help")
helpMenu.setMnemonic('H')
aboutItem = new JMenuItem("About")
aboutItem.setMnemonic('A')
aboutItem.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
new guanyu()
}
})
helpMenu.add(aboutItem)
menubar = new JMenuBar()
setJMenuBar(menubar)
menubar.add(fileMenu)
menubar.add(editMenu)
menubar.add(helpMenu)
//工具栏
label = new JLabel("请输入:")
text1= new JTextField("")
selectButton = new JButton("查询")
//工具栏查询监听器
selectButton.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
if(text1.getText().equals(""))
text2.setText("没有输入查询内容!请重新输入!!!")
else text2.setText(new select().jselect(text1.getText().trim()))
}
})
//工具栏增加监听器
addButton = new JButton("增加")
addButton.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
if(text1.getText().equals(""))
text2.setText("没有输入内容!请重新增加!!!")
else
{
String s=text1.getText().trim()
String s1=text2.getText().trim()
text2.setText(new add().jadd(text1.getText().trim(),text2.getText().trim()))
text2.append(s+"\n"+s1+""+" "+"//"+"该内容已增加!!!")
}
}
})
//工具栏修改监听器
updateButton = new JButton("修改")
updateButton.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
if(text1.getText().equals(""))
text2.setText("没输入所要修改的内容!请重新输入!!!!")
else{
String s=text1.getText().trim()
text2.setText(new update().jupdate(text1.getText().trim(),
text2.getText().trim()))
text2.append(s+" "+"//"+"该内容已修改!!!")
}
}
})
//工具栏删除监听器
deleteButton = new JButton("删除")
deleteButton.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
if(text1.getText().equals(""))
text2.setText("没输入所要删除的内容!请重新输入!!!!")
else{
String s=text1.getText().trim()
text2.setText(new delete().jdelete(text1.getText().trim()))
text2.append(s+" "+"//"+"该内容已删除!!!")
}
}
})
soundButton = new JButton("读音")
soundButton.addActionListener(new
AbstractAction(){
public void actionPerformed(ActionEvent event)
{
JavaSoundAudioClip player
try{
strsound = text2.getText().trim()
FileInputStream ff = new FileInputStream("sound//"+strsound+".wav")
player = new JavaSoundAudioClip(ff)
player.play()
}
catch(Exception e) {
System.out.println("error")
e.printStackTrace()
}
}
})
//万年历
dateButton = new JButton("万年历")
dateButton.addActionListener(new
AbstractAction() {
public void actionPerformed(ActionEvent event)
{
new calendar()
}
})
toolbar = new JToolBar()
add(toolbar,BorderLayout.NORTH)
toolbar.add(label)
toolbar.add(text1)
toolbar.add(selectButton)
toolbar.add(addButton)
toolbar.add(updateButton)
toolbar.add(deleteButton)
toolbar.add(soundButton)
toolbar.add(dateButton)
text2 = new JTextArea(8,40)
text2.setLineWrap(true)
JScrollPane scroll = new JScrollPane(text2)
add(scroll,BorderLayout.CENTER)
//快捷菜单 剪切,复制,粘贴
JPopupMenu popup= new JPopupMenu()
text2.setComponentPopupMenu(popup)
popup.add(new
AbstractAction("剪切",new ImageIcon("cut.gif"))
{
public void actionPerformed(ActionEvent event)
{
text2.cut()
}
})
popup.add(new
AbstractAction("复制",new ImageIcon("copy.gif"))
{
public void actionPerformed(ActionEvent event)
{
text2.copy()
}
})
popup.add(new
AbstractAction("粘贴",new ImageIcon("paste.gif"))
{
public void actionPerformed(ActionEvent event)
{
text2.paste()
}
})
text1.setComponentPopupMenu(popup)
}
public static final int DEFAULT_WIDTH = 400
public static final int DEFAULT_HEIGHT = 250
private JPanel panel
private JMenuBar menubar
private JToolBar toolbar
private JLabel label
private JTextField text1
private JTextArea text2
private JButton selectButton
private JButton addButton
private JButton updateButton
private JButton deleteButton
private JButton soundButton
private JButton dateButton
private JMenuItem aboutItem
private Connection con
private String url
private Statement s
private ResultSet rs
public BufferedWriter Buffer
private JFileChooser chooser
private File f
private JFrame frame
private int flag
private boolean b1
private String strsound
}
//查询类
class select {
private Connection con
private String url
private PreparedStatement pstmt
private String sql,zz
private ResultSet rs
select() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
} catch (ClassNotFoundException ce) {
System.out.println(ce)
}
url = "jdbc:odbc:test"
}
public String jselect(String str) {
try {
con = DriverManager.getConnection(url)
sql = "select 词语解释 from 字典 where 单词=?"
pstmt= con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)
pstmt.setString(1,str)
rs = pstmt.executeQuery()
while (rs.next()) {
System.out.print(rs.getString(1))
zz=rs.getString(1)
System.out.println(" ")
}
rs.close()
pstmt.close()
con.close()
} catch (SQLException ce) {
System.out.println(ce)}
return zz
}
}
//增加类
class add {
private Connection con
private String url
private PreparedStatement pstmt
private String sql,sql1,zz
private ResultSet rs
add() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
} catch (ClassNotFoundException ce) {
System.out.println(ce)
}
url = "jdbc:odbc:test"
}
public String jadd(String str1,String str2) {
try {
con = DriverManager.getConnection(url)
sql = "insert into 字典 values(?,?)"
pstmt= con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)
pstmt.setString(1,str1)
pstmt.setString(2,str2)
pstmt.executeUpdate()
Statement s = con.createStatement()
sql1 = "SELECT * FROM 字典 "
rs = s.executeQuery(sql1)
while (rs.next()) {
System.out.print(rs.getString(1))
System.out.print(rs.getString(2))
System.out.println(" ")
}
rs.close()
pstmt.close()
con.close()
} catch (SQLException ce) {
System.out.println(ce)}
return zz
}
}
//修改类
class update {
private Connection con
private String url
private PreparedStatement pstmt
private String sql,sql1,zz
private ResultSet rs
update() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
} catch (ClassNotFoundException ce) {
System.out.println(ce)
}
url = "jdbc:odbc:test"
}
public String jupdate(String str1,String str2) {
try {
con = DriverManager.getConnection(url)
sql = "UPDATE 字典 SET 词语解释=? WHERE 单词=?"
pstmt= con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)
pstmt.setString(1,str1)
pstmt.setString(2,str2)
pstmt.executeUpdate()
Statement s = con.createStatement()
sql1 = "SELECT * FROM 字典 "
rs = s.executeQuery(sql1)
while (rs.next()) {
System.out.print(rs.getString(1))
System.out.print(rs.getString(2))
System.out.println(" ")
}
rs.close()
pstmt.close()
con.close()
} catch (SQLException ce) {
System.out.println(ce)}
return zz
}
}
//删除类
class delete {
private Connection con
private String url
private PreparedStatement pstmt
private String sql,sql1,zz
private ResultSet rs
delete() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
} catch (ClassNotFoundException ce) {
System.out.println(ce)
}
url = "jdbc:odbc:test"
}
public String jdelete(String str1) {
try {
con = DriverManager.getConnection(url)
sql = "delete 字典 WHERE 单词=?"
pstmt= con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)
pstmt.setString(1,str1)
pstmt.executeUpdate()
Statement s = con.createStatement()
sql1 = "SELECT * FROM 字典 "
rs = s.executeQuery(sql1)
while (rs.next()) {
System.out.print(rs.getString(1))
System.out.print(rs.getString(2))
System.out.println(" ")
}
rs.close()
pstmt.close()
con.close()
} catch (SQLException ce) {
System.out.println(ce)}
return zz
}
}
还有个数据库,如果你能留个邮箱,我把整份程序传给你~希望能帮到你
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)