- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在其他帖子上读过这段代码,它在带有 JPanel 和 JLabel 的单个 Jframe 上工作。现在,在这段代码的帮助下,我想将其应用到我的 JFrame 的 JLabel 中。其中我的 JFrame 名称是 AddBatch,JPanel 是 pnl_addBatch,JLabel 是 lbl_addBatch [使用惰性拖放操作将所有内容设置到其位置:)]
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class MarqueeTest {
private void display() {
JFrame f = new JFrame("MarqueeTest");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String s = "Tomorrow, and tomorrow, and tomorrow, "
+ "creeps in this petty pace from day to day, "
+ "to the last syllable of recorded time; ... "
+ "It is a tale told by an idiot, full of "
+ "sound and fury signifying nothing.";
MarqueePanel mp = new MarqueePanel(s, 32);
f.add(mp);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
mp.start();
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new MarqueeTest().display();
}
});
}
}
class MarqueePanel extends JPanel implements ActionListener {
private static final int RATE = 12;
private final Timer timer = new Timer(1000 / RATE, this);
private final JLabel label = new JLabel();
private final String s;
private final int n;
private int index;
public MarqueePanel(String s, int n) {
if (s == null || n < 1) {
throw new IllegalArgumentException("Null string or n < 1");
}
StringBuilder sb = new StringBuilder(n);
for (int i = 0; i < n; i++) {
sb.append(' ');
}
this.s = sb + s + sb;
this.n = n;
label.setFont(new Font("Serif", Font.ITALIC, 36));
label.setText(sb.toString());
this.add(label);
}
public void start() {
timer.start();
}
public void stop() {
timer.stop();
}
@Override
public void actionPerformed(ActionEvent e) {
index++;
if (index > s.length() - n) {
index = 0;
}
label.setText(s.substring(index, index + n));
}
}
最佳答案
Marquee 功能不必驻留在此 MarqueePanel 中。这可能只是作为一个例子。但是您可以更改该类,以便它在其构造函数中接受 JLabel(并且它不再扩展 JPanel)。这样,您可以将此选取框效果应用到任何 JLabel - 也可以应用到已经存在的 JLabel:
JLabel lbl_addBatch = createdSomewhere();
// Add marquee effect to the existing label:
Marquee marquee = new Marquee(lbl_addBatch, s, 32);
marquee.start();
相应地更改了代码:
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class MarqueeTest {
private void display() {
JFrame f = new JFrame("MarqueeTest");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String s = "Tomorrow, and tomorrow, and tomorrow, "
+ "creeps in this petty pace from day to day, "
+ "to the last syllable of recorded time; ... "
+ "It is a tale told by an idiot, full of "
+ "sound and fury signifying nothing.";
JLabel lbl_addBatch = new JLabel();
JPanel pnl_addBatch = new JPanel();
pnl_addBatch.add(lbl_addBatch);
Marquee marquee = new Marquee(lbl_addBatch, s, 32);
marquee.start();
f.add(pnl_addBatch);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new MarqueeTest().display();
}
});
}
}
class Marquee implements ActionListener {
private static final int RATE = 12;
private final Timer timer = new Timer(1000 / RATE, this);
private final JLabel label;
private final String s;
private final int n;
private int index;
public Marquee(JLabel label, String s, int n) {
if (s == null || n < 1) {
throw new IllegalArgumentException("Null string or n < 1");
}
StringBuilder sb = new StringBuilder(n);
for (int i = 0; i < n; i++) {
sb.append(' ');
}
this.label = label;
this.s = sb + s + sb;
this.n = n;
label.setFont(new Font("Serif", Font.ITALIC, 36));
label.setText(sb.toString());
}
public void start() {
timer.start();
}
public void stop() {
timer.stop();
}
@Override
public void actionPerformed(ActionEvent e) {
index++;
if (index > s.length() - n) {
index = 0;
}
label.setText(s.substring(index, index + n));
}
}
关于java - 将这个 "Marquee code"添加到我的 Jframe 中的 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21589134/
我对 Javascript 毫无希望。这是我的: function beginrefresh(){ //set the id of the target object
我正在尝试使用 jQuery 的选取框插件。 但我在 FireBug 控制台 jQuery("#marquee").marquee is not a function 中收到此错误. 我的代码是这样的
我正在尝试编写一个运行流畅的滚动文本。 ..没有颠簸,标签就无法工作,我认为这不是好的编程。我想用 JavaScript 来做,但我完全是初学者。 我找到了一些易于理解的代码,但我认为看起来最好的滚动
我的 CSS3 选取框效果按预期工作,但是它没有循环遍历我的 中包含的所有元素。 . 我正在使用 ASP.NET WebForms,并使用绑定(bind)到数据源的 Repeater 来呈现我的
我正在尝试制作带有内部选取框的div,以将其放在没有选取框的div的后面 我无法将选取框 div 放在球体 div 的后面我怎样才能使用 CSS 做到这一点?我已经把 z-index :-9999;在
我想在我的应用程序中使用 2 个选取框。但只有一个一直在工作。如果我评论第一个,那么第二个就可以了。否则第一个。或者一次只有一个选取框获得焦点。如果我们按下向下箭头,那么第二个将获得焦点。这两个选框如
所以我有一个带有运行示例图片的 html 文档。但是我希望这些数据来自 javascript 文件?这可能吗? 这是我目前所拥有的: HTML Test script
我正在使用字幕标签在我的网站上滚动文本。我目前正在使用占位符文本,但目的是使用无限动态提要。 我目前已经设置好了,但文本只在一行中流动。 我希望能够将文本换行,以便用多行文本填充浏览器窗口 HTML:
我正在使用 marquee 标签显示近 30 篇 WordPress 帖子,但是当循环完成后重新启动 marquee 标签有太多延迟时间。第一次发帖 3 秒后我需要做什么重新开始? 'publi
我创建了一个包含一张图片的选取框。我想要一个以上的图像,它们应该一个接一个地滚动。在我的代码中,它们像一个在另一个之上,它们应该在一个 div 中。我希望这些图像在选取框内平滑滚动,就像在某个时间停止
我使用来自的建议示例 Very Simple, Very Smooth, JavaScript Marquee (function($) { $.fn.textWidth = fun
我想要字幕文本,当字幕完成时(第一个完整的字幕循环),我想触发另一个事件。有没有好的方法来做到这一点?选取 TextView 时,我没有看到 OnEnd 或类似的函数 最佳答案 使用自定义 TextV
我想要字幕文本,当字幕完成时(第一个完整的字幕循环),我想触发另一个事件。有没有好的方法来做到这一点?选取 TextView 时,我没有看到 OnEnd 或类似的函数 最佳答案 使用自定义 TextV
marquee 标签中的什么属性允许我连续滚动 marquee 内容?如果我有 5 个元素作为其内容,我想为所有 5 个元素平均分隔空间,并且还要为一个卷轴的第 5 个和下一个卷轴的第一个之间的空间。
好的,这是我的交易,我有一个像这样的选取框: google 现在由于某些原因,此链接无法点击!它看起来像一个链接,但它不像一个链接。伙计们,我有什么办法可以让这项工作成功吗? 对了,用FF 3.5
Well known from html, marquee is clearly the pinnacle of the Semantic Web. Or rather its nadir si
众所周知,marquee源自html,显然是语义网的巅峰。或者更确切地说,它的最低点与眨眼标签并排。无论如何,我们如何在PROLOG中表示Marquee?换句话说,如何定义关系字幕/2以使下列条件成立
我有一个使用 css 动画选取框运行的选取框(是的)。 然而,客户希望它在屏幕右侧完全消失之前再次开始显示在屏幕左侧? 所以在它滑出之前重新开始。 这是一个 fiddle :https://jsfid
当我在图表(TeeChart)上使用鼠标缩放(左键并拖动右下角)时,光标会为缩放区域绘制一个选取框矩形。浅灰色的选框线几乎看不见。有没有办法改变选框线的颜色(如黑色、红色等)以使其更具对比度且易于查看
使用 react-text-marquee module 时,我在 Chrome 开发工具控制台中收到错误消息 react 中。 我不确定如何在不将输出更改为字符串而不是 JSX 的情况下解决此问题。
我是一名优秀的程序员,十分优秀!