标签:stream path menu size 关闭 adapter jframe class style
package NAME; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.WindowEvent; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.JMenu; import javax.swing.JLabel; import javax.swing.JFrame; import javax.swing.JFileChooser; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; public class java { JFrame subgroup; MenuBar mb; Menu menu; JTextArea jta; MenuItem openItem, saveItem, closeItem; FileDialog openItem,saveItem; File file; public java() { init(); } public void init() { subgroup=new JFrame("lpf的记事本"); mb=new MenuBar(); mu=new Menu("文件"); openItem=new MenuItem("打开(o)"); saveItem=new MenuItem("保存(s)"); closeItem=new MenuItem("退出(u)"); jta=new JTextArea(); subgroup.add(jta); menu.add(openItem); menu.add(saveItem); menu.add(closeItem); mb.add(mu); subgroup.setMenuBar(mb); openDia=new FileDialog(subgroup, "打开", FileDialog.LOAD); saveDia=new FileDialog(subgroup, "保存", FileDialog.SAVE); subgroup.setBounds(200, 300, 500, 400); subgroup.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); subgroup.setVisible(true); event(); } public void event() { openItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { openFile(); } }); saveItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { saveFile(); } }); jta.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e){ if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_S) { saveFile(); } } }); closeItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); } public void openFile() { openDia.setVisible(true); if(dirPath==null || fileName==null) return ; jta.setText(""); file=new File(dirPath,fileName); try { BufferedReader br = new BufferedReader(new FileReader(file)); String line = null; while((line=br.readLine())!=null) { jta.append(line+" r"); } br.close(); } public void saveFile() { if(file==null) { saveDia.setVisible(true); String dirPath = saveDia.getDirectory(); String fileName = saveDia.getFile(); if(dirPath==null || fileName==null) return ; try { BufferedWriter bw=new BufferedWriter(new FileWriter(file)); String info=jta.getText(); bw.write(info); bw.flush(); bw.close(); } catch (IOException e1) { throw new RuntimeException(); } } public static void main(String[] args) { new java(); } }
JDBC
JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。
执行流程
1 连接数据源,如:数据库。
2 为数据库传递查询和更新指令。
3 处理数据库响应并返回的结果。
常见的类与接口
DriverManager类:用于注册驱动(创建连接对象)。 java.sql.DriverManager;
Connection接口:表示与数据库创建的连接 。java.sql.Connection;
Statement接口:操作数据库sql语句的对象,并返回相应结果的对象。 java.sql.Statement;
ResultSet接口:结果集或一张虚拟表(客户端存表数据的对象)。 java.sql.ResultSet;
开发步骤
加载驱动程序:
Class.forName(driverClass) //加载MySql驱动 Class.forName("com.mysql.jdbc.Driver") //加载Oracle驱动 Class.forName("oracle.jdbc.driver.OracleDriver")
获得数据库连接:
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc", "root", "root");
创建Statement\PreparedStatement对象:
conn.createStatement();
conn.prepareStatement(sql);
标签:stream path menu size 关闭 adapter jframe class style
原文地址:https://www.cnblogs.com/lpf666/p/11960914.html