「java如何创建历史记录」java如何创建历史记录函数

博主:adminadmin 2023-01-24 17:27:10 251

今天给各位分享java如何创建历史记录的知识,其中也会对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如何创建历史记录的信息别忘了在本站进行查找喔。