- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用Trident Java Animation Library ,因为我想要 JScrollPane
具有伪 Accordion 效果。
这是我的 SSCCE:http://pastebin.com/5xfBLmV5
您需要下载 Trident JAR .
JScrollPane
有一个 JTextArea
的视口(viewport) View 。JFrame
以最小化的 TextView 打开。JButton
单击时会向前或向后播放动画。JFrame 底部添加了一个标签
JScrollPane
无法正确计算 JTextArea
的实际高度,因此文本被截断并且该区域不可滚动.
这就是正在发生的事情:
之前
点击“显示详细信息...”后
最佳答案
基本上,使用正确的布局管理器并确保父容器无效应该会给您带来您正在寻找的结果。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.UUID;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import org.pushingpixels.trident.Timeline;
import org.pushingpixels.trident.ease.Spline;
public class ButtonFg extends JFrame {
private JScrollPane jsp;
public ButtonFg() {
JButton button = new JButton("sample");
button.setForeground(Color.blue);
JPanel panel = new JPanel(new GridBagLayout());
this.add(panel);
String s = UUID.randomUUID().toString();
for (int i = 0; i < 20; i++) {
s += "\n" + UUID.randomUUID().toString();
}
final JTextArea textArea = new JTextArea(s);
textArea.setLineWrap(true);
jsp = new JScrollPane(textArea);
final JButton label = new JButton("Show details...");
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridwidth = GridBagConstraints.REMAINDER;
panel.add(label, gbc);
gbc.weighty = 1;
gbc.anchor = GridBagConstraints.NORTH;
panel.add(jsp, gbc);
gbc.weighty = 0;
gbc.anchor = GridBagConstraints.SOUTH;
panel.add(new JLabel("End of panel"), gbc);
final Timeline rolloverTimeline = new Timeline(this);
rolloverTimeline.addPropertyToInterpolate("animate", new Dimension(400, 15), new Dimension(400, 200));
rolloverTimeline.setEase(new Spline(0.8f));
rolloverTimeline.setDuration(1000);
rolloverTimeline.setInitialDelay(50);
label.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (label.getText().toLowerCase().contains("show")) {
rolloverTimeline.play();
label.setText("Hide details...");
} else {
rolloverTimeline.playReverse();
label.setText("Show details...");
}
}
});
rolloverTimeline.playReverse();
this.setSize(400, 500);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void setAnimate(Dimension size) {
jsp.setPreferredSize(size);
jsp.getParent().revalidate();
repaint();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new ButtonFg().setVisible(true);
}
});
}
}
关于java - 带 Trident 动画的 JScrollPane 出现 bug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15431778/
Trident是Storm的延伸。像Storm,Trident也是由Twitter开发的。开发Trident的主要原因是在Storm上提供高级抽象,以及状态流处理和低延迟分布式查询。 Trident
我在学习 Trident框架。 Trident上有几种方法 Stream s用于批处理中的聚合元组,包括 this one它允许使用 Aggregator 预先形成元组的有状态映射界面。但不幸的是,一
我正在尝试在我的项目中使用 Trident 动画库。我已将 trident.jar 添加到 Eclipse 项目的构建路径中,但仍然收到构建路径错误。图书馆所需的文件丢失。 也许我很蠢,但我似乎在网站
我的用例是调用查询以使用不同的输入参数从数据库中获取记录。取出记录后,做一些处理,最后写入文件。我的输入参数值取决于上一个查询的完整处理。我的问题是,我如何在 spout 中知道先前查询的处理已完成,
使用 JavaScript 检测 Trident 6.0+ 的最佳方法是什么?我知道浏览器检测很糟糕,但我正在构建一个网络应用程序,出于性能原因需要在 Trident 6.0+ 上运行。你不能使用 M
根据 UserAgentString.com 我的用户代理字符串:Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Geck
我在 LocalDRPC 中运行了一个简单的 Trident 拓扑,其中一个函数输出 结果 字段,但是当我运行它时,我返回的结果似乎是来自每个元组,而不是像我所期望的那样仅包含 result 字段,给
我正在构建一个查询 HBaseState 的 Trident 拓扑。我正在使用 org.apache.storm.hbase 包。 我的理解(如果我错了,请纠正我)是,HBaseQuery 读取给定
我正在学习如何将 Storm 的三叉戟与 Cassandra 2.0.5、Storm 版本 0.9.0.1 一起使用。我还使用 com.hmsonlinestorm-cassandra 0.4.0-r
我正在使用带有 AI 的 Swing 用 Java 创建一个简单的棋盘游戏,该游戏应该在用户轮到他们之后轮到它。我想在允许 AI 轮到它之前“暂停”游戏大约 3 秒,以便用户可以看到他们的移动结果
有没有一种方法可以使用 Trident (IE11) 对象在应用程序中调试 JavaScript?我们有一个嵌入了 Trident 实例的 (C++/MFC) 应用程序。它工作正常,右键单击该对象会弹
在我的网络应用程序中,我使用透明的模糊滤镜覆盖在视频之上。这对于除 IE10/11 之外的所有浏览器都是可行的。由于模糊滤镜是一个 CSS 属性,我无法真正进行正确的特征检测,而我应该这样做。相反,我
我正在与 Storm 合作对于很多用例来说它都很好。最近我看了Trident ,这是 Storm 的高级抽象。它支持仅一次处理并使状态处理更容易。 但现在我想知道..为什么我不能总是使用 Triden
我们发现 Kafka + Storm + Trident + OpaqueTridentKafkaSpout 存在一些性能问题 下面提到的是我们的设置详细信息: Storm 拓扑: Broker br
我对Trident 动画库还很陌生,但我设法将其用于我的动画,而且效果非常好。 我的要求是基本上为 JComponent 从容器的一个角到容器的中间设置动画。 下面是我的伪代码 this.setLay
我正在尝试向 Cassandra 2.0.5、Storm 版本 0.9.0.1 中的表格插入一个简单的行。 我的测试如下: 我有一个由 id (int) 和 sentence (text) 列组成的表
我正在尝试开始使用 Storm Trident 并设置拓扑并使用 IOpaquePartitionedTridentSpout 运行并由OpaqueMap提供支持。 但是,我很难找到让我的 spout
我正在做一个实时数据项目,目前正在使用 https://github.com/kstyrc/trident-redis 的 trident-redis 库存储带有计数的键集。我有一些我想存储的更高级的
Trident 似乎已弃用 DRPC 和事务拓扑。而且还不太清楚为什么常规拓扑不能完成 DRPC 拓扑可以完成的任务。 DRPC拓扑有什么特点? 有人可以解释一下何时使用 DRPC、Transacti
我正在使用Trident Java Animation Library ,因为我想要 JScrollPane 具有伪 Accordion 效果。 这是我的 SSCCE:http://pastebin.
我是一名优秀的程序员,十分优秀!