`
文章列表

swing点击频率过快

这个现象是由于Swing的事件处理机制造成的,Swing事件是以队列的形式来执行的,加上Swing组件的重绘与事件处理都是在一个线程里处理的,频率过快会导致队列阻塞。解决这一问题的方法就是采用多线程,将重绘和事件分别采用不同的线程去完成
以下内容摘抄自网上多个地方: 1. JTable( 放在JScrollPane中 )中加入一行后, 然后让其获得焦点且滚动条自动下来! int rowCount = table.getRowCount(); table.getSelectionModel().setSelectionInterval(rowCount-1, rowCount-1); Rectangle rect = table.getCellRect(rowCount-1, 0, true); //table.repaint(); 若需要的话 //table.updateUI();若需要的话 ...

tabpane

class TabComponent extends JPanel implements ActionListener { private JTabbedPane pane; public TabComponent(String title, JTabbedPane pane) { this.pane = pane; setOpaque(false); JLabel label = new JLabel(title); JButton button = new JButton("×"); butt ...
TableCellRenderer就是用来绘制展示当前cell单元数值内容的,你可以用文字、数值或者图片来表示内容,当然最强大展示方式的就是通过自定义自己的renderer组件,通过Java2D来绘制各种天花乱坠的效果。 TableCellEditor主要是用来当用户点击在具体cell时进行编辑的组件,所以TableCellEditor除了具有TableCellRenderer一样的绘制功能外还可以进行交互动作,例如在cell上出现下拉框、勾选框甚至通过按钮弹出更复杂的对话框让用户进行输入编辑。 以下是在cell中嵌入start、stop两个按钮的表格,注意这里的renderer只是用来显示 ...
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee"            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com ...
/**   * 得到几天前的时间   * @param d   * @param day   * @return   */  public static Date getDateBefore(Date d,int day){   Calendar now =Calendar.getInstance();   now.setTime(d);   now.set(Calendar.DATE,now.get(Calendar.DATE)-day);   return now.getTime();  }    /**   * 得到几天后的时间   * @param d   * @param day   ...
request.getParameterMap的学习  request.getParameterMap()的返回类型是Map类型的对象,也就是符合key-value的对应关系,但这里要注意的是,value的类型是String[],而不是String. 得到jsp页面提交的参数很容易,但通过它可以将request中的参数和值变成一个map,以下是将得到的参数和值打印出来,形成的map结构:map(key,value[]),即:key是String型,value是String型数组。 例如:request中的参数t1=1&t1=2&t2=3 形成的map结构: ke ...
协同软件是最受用户追捧的管理软件之一,被誉为继OFFICE、ERP之后,应用软件领域最大的应用热潮。在复旦协达、点击等协同软件专业厂商的大力推 动,以及用户需求的拉动下,我国协同软件发展非常迅速,协同软件的产品升级换代也非常快。许多协同软件产品对于新技术的吸收与采纳,持非常积极的态度,为 我国协同软件在产品上赶超国际水平奠定了基础。 因为协同软件大部分都是组织单位的所有管理者都需要用的管理软件,因此目前主流的 协同软件都是采用B/S应用模式和采用JAVA开发,避免了传统C/S下受局域网的限制,以及.NET等非JAVA开发架构所造成的系统性能瓶颈。以协达 软件实施的徐工、宝钢、苏宁等著名企业为例, ...
说说Java中的枚举——EnumMap与EnumSet     为了更好的支持枚举类型,java.util中添加了两个新类:EnumMap和EnumSet。使用它们可以更高效的操作枚举类型。下面我一一介绍给你:     EnumMap是专门为枚举类型量身定做的Map实现。虽然使用其它的Map实现(如HashMap)也能完成枚举类型实例到值得映射,但是使用EnumMap会更加高效:它只能接收同一枚举类型的实例作为键值,并且由于枚举类型实例的数量相对固定并且有限,所以EnumMap使用数组来存放与枚举类型对应的值。这使得EnumMap的效率非常高。     提示:EnumMap在 ...
枚举的使用: public class Test{ private enum Methods{ index; /** * 里面是否包含此字符串 * * @param string * @return */ public static boolean isIn(String string) { try { Methods.valueOf(string); re ...
我原来遍历Map是这样遍历的: Map<String,Object> map = new HashMap<String,Object>(); Set<String> keySet = map.keySet(); for (String key : keySet) { Object o = map.get(key); } 被findBug找到后,优化为: Set<Entry<String,Object>> entrySet = map.entrySet(); for (Entry<String, Object> entry : ...
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4  Statement stat = conn.cr ...
创立Spring配置文件 spring-hibernate.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframew ...
 Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。     DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为SessionFactory,TransactionManager的实现为HibernateTransactionManager。     具体如下图: 根据代理机制的不同,总结了五种Spring事务的配置方式,配置文件如下: ...
所有的Hibernate应用中都会访问Hibernate的5个核心接口。   Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象。   SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。   Session接口:负责保存、更新、删除、加载和查询对象。   Transaction:管理事务。   Query和Criteria接口:执行数据库查询。   1.Configuration接口   Configuration对象用于配置并且启动Hibernate。Hib ...
Global site tag (gtag.js) - Google Analytics