「java如何创建历史记录」java如何创建历史记录函数
今天给各位分享java如何创建历史记录的知识,其中也会对java如何创建历史记录函数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、javaWeb怎么记录修改的历史
- 2、我想知道像这样的历史记录查询界面,用java swing来做,应该怎么做?
- 3、java Web 怎么记录修改的历史
- 4、用java做一个根据时间查询的历史记录,可是新的时间刚加上去就把原来的时间替换了,求教啊 要怎么办才好
- 5、如何java中用cookie 写一个保留5个最近历史浏览记录的代码
- 6、JAVA 历史记录
javaWeb怎么记录修改的历史
看到这个需求,我第一反应是设计在java层做更新记录好像更方便。不需要任何其他知识点了。
数据库加一张表就行,比如名叫record
表里面 entry property old new date 类似这么几个字段,java层再加一个这个表对应的实体类Record,并且有一个insert方法
在Problem的update方法里,很容易能获取到这几个值,update成功以后创建一个Record对象insert到表里。
这样做的好处是可以收集任意一个实体类的修改记录,可能有User,Person等等。查询的时候根据entry
name这个字段来区分。这样无论多少次修改,都能保存直观的历史记录。
至于这样污染了update的代码,你可以思考下依靠spring的aop编程,比如后置通知之类的,将比较新老值,组装成Record对象等逻辑,分离到一个通用、独立的方法里。其实这一点还是需要思考一下,如果才能更优雅地实现。
我想知道像这样的历史记录查询界面,用java swing来做,应该怎么做?
你浏览器是搜狗吧
一: 主体布局是 边界布局, 今天昨天前天是1行1列的网格布局
二:点击今天昨天,明天,中间的组件改变内容,可以使用JTabbedPane (选项卡面板)来实现
当然也可以使用JLabel或者JButton来实现. 只要添加点击事件时,改变中间的组件就可以了
三:蓝色指示标,同样可以在接受点击事件时,改变组件的外观,或者更改背景图片或者绘制一些颜色上去
建议的做法:
如果要一模一样的仿写 那么建议不要使用JTabbedPane 组件. 而是把昨天, 今天 等 做成按钮 . 然后点击的时候, 改变内容
简单的仿写
代码如下
import javax.swing.*;
import java.awt.*;
public class SwingDemo extends JFrame {
public SwingDemo() {
JPanel jp = new JPanel(new FlowLayout(FlowLayout.LEFT));
JLabel jl = new JLabel("历史记录");// 文字标签
jl.setFont(new Font("宋体", Font.BOLD, 32));// 设置文字标签的字体
JTextField jtf = new JTextField(8);//文本框,长度8
JButton jb = new JButton("搜索");//按钮
jp.add(jl);
jp.add(jtf);
jp.add(jb);
add(jp, BorderLayout.NORTH);// 把 jp放到北面
JTabbedPane jtp = new JTabbedPane();// 选项卡
JPanel jp0 = new JPanel(new FlowLayout(FlowLayout.LEFT));// 从左到右的流式布局,
JLabel jl1 = new JLabel("今天的历史记录:");
jp0.add(jl1);
jtp.add("今天", jp0);// 选项卡面板添加 标题是 今天, 对应的内容组件是jp0
JTextArea jta = new JTextArea();
jta.append("昨天的历史记录:");
jtp.add("昨天", jta);
JPanel jp1 = new JPanel();
jp1.setBackground(Color.ORANGE);
jtp.add("前天", jp1);
jtp.setTabPlacement(JTabbedPane.LEFT);
add(jtp);
setTitle("主窗口");// 标题
setSize(620, 480);// 大小
setLocationRelativeTo(null);// 居中
setDefaultCloseOperation(EXIT_ON_CLOSE);// 关闭窗口后退出程序
setVisible(true);// 窗口可见
}
public static void main(String[] args) {
new SwingDemo();
}
}
java Web 怎么记录修改的历史
1.你的页面应该是数据列表 勾选要修改的数据 → 修改 → 根据数据id获取到数据对象 2.在页面上修改数据 修改 → 根据数据id 修改对应信息
用java做一个根据时间查询的历史记录,可是新的时间刚加上去就把原来的时间替换了,求教啊 要怎么办才好
做一个纵表,3个字段.id name value
id关联主表, 唯一
每次时间修改的时候,把旧时间存在这个纵表里面.记录id 和时间 存入纵表
列如
1 oldtime 2014/9/1 12:00
1 oldtime 2014/9/1 13:00
以后根据时间查询历史记录 关联纵表,就知道id为1的数据的修改记录的时间
如何java中用cookie 写一个保留5个最近历史浏览记录的代码
已经有人问过了
附带一个cookie工具类
public static void addCookie(HttpServletResponse response, String name,
String value, int maxAge) {
Cookie cookie = new Cookie(name, value);
cookie.setPath("/");
if (maxAge 0) {
cookie.setMaxAge(maxAge);
}
response.addCookie(cookie);
}
public static Cookie getCookieByName(HttpServletRequest request, String name) {
MapString, Cookie cookieMap = ReadCookieMap(request);
if (cookieMap.containsKey(name)) {
Cookie cookie = (Cookie) cookieMap.get(name);
return cookie;
} else {
return null;
}
}
private static MapString, Cookie ReadCookieMap(HttpServletRequest request) {
MapString, Cookie cookieMap = new HashMapString, Cookie();
Cookie[] cookies = request.getCookies();
if (null != cookies) {
for (Cookie cookie : cookies) {
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}
JAVA 历史记录
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import com.DB;
public class TableFromDB extends JFrame{
private TableModel model;
public TableFromDB(){
JPanel panel=new JPanel();
panel.setSize(400, 400);
add(panel,"Center");
model= new TableModel();
final JTable t=new JTable(model);
JScrollPane s_pan = new JScrollPane(t);
panel.add(s_pan);
final JButton load=new JButton("Load");
final JButton reset=new JButton("Reset");
panel.add(load);
panel.add(reset);
load.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
ListList data=getData();
model.removeRows(0, model.getRowCount());
for(int i=0;idata.size();i++){
model.addRow((String)data.get(i).get(1), (String)data.get(i).get(2));
}
t.updateUI();
}
});
reset.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
model.removeRows(0, model.getRowCount());
t.updateUI();
}
});
setSize(500,500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public ListList getData(){
ListList data=new ArrayListList();
DB db = new DB();
String sql = "select * from t_user";
Statement sm = db.getStatement();
int i=0;
try {
ResultSet rs = sm.executeQuery(sql);
while(rs.next()){
List detail=new ArrayList();
detail.add(rs.getLong("id"));
detail.add(rs.getString("name"));
detail.add(rs.getString("password"));
data.add(detail);
System.out.println(data.get(i).get(0)+" "+data.get(i).get(1)+" "+data.get(i).get(2));
i++;
}
} catch (SQLException e) {
e.printStackTrace();
}
List d1=new ArrayList();
d1.add(1);d1.add("C");d1.add("hello");
List d2=new ArrayList();
d2.add(2);d2.add("Java");d2.add("world");
data.add(d1);
data.add(d2);
return data;
}
public static void main(String[] args) {
new TableFromDB();
}
}
class TableModel extends AbstractTableModel{
private Vector content=null;
private String[] title_name = { "ID", "name", "password"};
public TableModel(){
content = new Vector();
}
public TableModel(int count){
content = new Vector(count);
}
public void addRow(String name, String password) {
Vector v = new Vector(3);
v.add(0, new Integer(content.size()));
v.add(1, name);
v.add(2, password);
content.add(v);
}
public void removeRow(int row) {
content.remove(row);
}
public void removeRows(int row, int count) {
for (int i = 0; i count; i++) {
if (content.size() row) {
content.remove(row);
}
}
}
public int getColumnCount() {
return title_name.length;
}
public int getRowCount() {
return content.size();
}
public Object getValueAt(int row, int col) {
return ((Vector) content.get(row)).get(col);
}
public String getColumnName(int col) {
return title_name[col];
}
public void setValueAt(Object value, int row, int col) {
((Vector) content.get(row)).remove(col);
((Vector) content.get(row)).add(col, value);
this.fireTableCellUpdated(row, col);
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
if (columnIndex == 0) {
return false;
}
return true;
}
java如何创建历史记录的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java如何创建历史记录函数、java如何创建历史记录的信息别忘了在本站进行查找喔。