我最近购买了Filthy Rich Clients这本书,我发现它非常有用和有趣.在本书的一个例子的基础上,我尝试实现一个自定义ScrollPane,它在要显示的组件的视图底部显示一个"阴影".我最终得到了下面的代码.它工作但不完美.特别是当我通过拖动滚动条滚动窗格时,一切正常,绘画非常流畅.但是当我用鼠标滚动滚动时,阴影闪烁,我不明白为什么.谁能帮我?
编辑:滚动窗格中的任何组件都会发生同样的事情.编辑代码以显示两个帧以查看问题.
编辑2:我已将问题与滚动窗格处理鼠标滚轮事件的方式隔离开来.滚动滚动窗格时,根据滚动的方向稍微向上或向下复制视口的内容,然后绘制进入视图的区域.我的代码使整个组件"脏"但是在组件移动了内容之后.所以你会立刻看到"影子"渐变不合适,直到发出重画.有关如何禁用此功能的任何想法?
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Container;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.RepaintManager;
public class Test {
public static void main(String[] args) {
JFrame f = new JFrame("Table");
JFrame f1 = new JFrame("Text Area");
Object[] names = new Object[] { "Title", "Artist", "Album" };
String[][] data = new String[][] {
{ "Los Angeles", "Sugarcult", "Lights Out" },
{ …Run Code Online (Sandbox Code Playgroud) 我是NHibernate世界的新手.
为什么此代码可以从集合中删除区域:
Country country;
using (IUnitOfWork unit = UnitOfWork.Start())
{
country = new Country();
country.Name = "My country";
Territory territory = new Territory();
country.Territories.Add(territory);
country.Territories.Remove(territory);
}
Run Code Online (Sandbox Code Playgroud)
这段代码不起作用:
Country country;
using (IUnitOfWork unit = UnitOfWork.Start())
{
country = _countries.GetById(1);
Territory territory = new Territory();
country.Territories.Add(territory);
country.Territories.Remove(territory);
}
Run Code Online (Sandbox Code Playgroud)
在第二个代码片段中,_countries是一个存储库.国家/地区ID 1存在于数据库中.领土增加,但从未删除......
这是映射:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="iCible.Artishows.Framework.ObjectDefinition"
namespace="iCible.Artishows.Framework.ObjectDefinition" >
<class name="Country" >
<id name="ID">
<generator class="identity"/>
</id>
<property name="Name" />
<set name="Territories" cascade="all-delete-orphan" inverse="true" order-by="Name" sort="iCible.Artishows.Framework.ObjectDefinition.TerritoryComparer">
<key column="COUNTRYID"/>
<one-to-many class="Territory"/>
</set> …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的项目中使用jquery数据表插件.它支持表中的ajax加载值.但我的问题是它是否支持延迟加载价值?表示如果表是分页的,我可以在请求时使用ajax加载每个页面所需的数据,而不是在页面启动时加载所有值吗?
现在我观察到的是,创建表时会加载页面所需的所有数据.如果页面必须处理大量数据并且在那个时间点没有使用它,则会产生问题.
如果这个插件无法处理,任何人都可以建议任何其他插件来支持这个要求.我需要一个支持分页和延迟加载内容的数据表.
Silverlight如何与Flash 10叠加?
哪个更轻?(CPU消耗,加载时间,性能)
它具有更丰富的功能(API,库)
开发速度更快?
媒体处理(音频/视频流)怎么样?
我需要特殊的服务器/客户端软件才能使用它们吗?
是否有任何命令行(非交互式,不是基于Web的)工具将重新格式化(精美打印)PHP和Javascript代码?
我在其他代码中看到的大多数常量都是2的幂,即
#define SIZE 256
Run Code Online (Sandbox Code Playgroud)
要么
public static final int SIZE = 2048;
Run Code Online (Sandbox Code Playgroud)
有什么特别的原因我们这样做而不是ie
#define SIZE 257
Run Code Online (Sandbox Code Playgroud)
?
我有一个页面,其中包含更新面板中的listview控件的一部分.当在列表视图中单击按钮时,我修改了一些数据并调用this.databind来刷新数据.即使控件位于更新面板内,看起来页面加载事件仍在触发.我想知道为什么页面加载事件被触发?是因为在listview_onitemcommand事件上调用this.databind?
它不在apache-log4j-1.2.15.tar.gz中,可从Apache网站和镜像中获得,Google也不会返回任何内容.Apache Commons Lang在tar.gz文件中有一个javadoc jar用于发布,但遗憾的是没有运气在log4j tarball中找到相同的内容.
c# ×3
java ×2
javascript ×2
.net ×1
asp.net ×1
asp.net-ajax ×1
collections ×1
constants ×1
easymock ×1
flash ×1
jar ×1
java-2d ×1
javadoc ×1
jquery ×1
listview ×1
log4j ×1
nhibernate ×1
php ×1
repaint ×1
silverlight ×1
swing ×1
updatepanel ×1
winforms ×1