Tag: jlabel

JPanel中的JLabel动画

在刮擦后我发现最好通过扩展JLabel来实现自定义图像组件。 到目前为止,这已经很有效,因为我可以添加多个“图像”(jlabels没有布局中断。我只是有一个问题,我希望有人可以为我回答。 我注意到为了在屏幕上为setlayout(null);制作动画,我需要setlayout(null); 和组件的setbounds ,然后动画最终setlocation(x,y); 。 这是动画组件的最佳实践还是可怕的方法? 我计划最终制作一个动画课,但我不想这样做,最后不得不把它扔掉。 我已将相关代码包含在内,以便快速查看。 import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JPanel; import javax.swing.Timer; public class GraphicsPanel extends JPanel { private Timer timer; private long startTime = 0; private int numFrames = 0; private float fps = 0.0f; private int x = 0; GraphicsPanel() { final […]

如何在Java Swing中显示更改文本(即,显示更改秒的时间)

我正在寻找一种方法来将JFrame上的当前日期和时间显示为JLabel,但是它会自动更新。 一旦它被绘制到窗格,我不需要担心手动更新它,因为它会每2秒刷新一次。 有没有正确的方法呢? 而不是每2秒手动更改JLabel的文本值。

当文本发生变化时,如何阻止JLabel更改其大小?

我在代码中生成一些JComponents并使用GridBag布局来排列它们。 我的布局由12行和3列组成,每行包含一个JSlider,一个JCheckBox和一个JLabel。 这是我用来生成UI的代码: final int NUM_MOTORS = 12; // This is the panel I’m adding the components to. pnlMotorSliders.setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); for (int i = 0; i < NUM_MOTORS; ++i) { c.gridy = i; // Create the slider JSlider slider = new JSlider(SwingConstants.HORIZONTAL, 10, 4085, 10); c.fill = GridBagConstraints.HORIZONTAL; c.gridx = […]

具有HTML字符串的表格单元格不一致地呈现为多行

我表中一列的单元格是HTML字符串。 HTML用于提供一些颜色指示。 通常,列的宽度足以包含整个字符串。 但是当它还不够时,字符串很好地切割在单词边界上。 这是理想的行为。 使用默认的单元格渲染器。 我注意到偶尔会有一些与表的交互触发渲染器包装字符串。 据我所知,包装HTML字符串是JLabel的正常行为, DefaultTableCellRenderer从该行为派生。 不清楚的是,为什么这种行为如此不一致,是什么引发了它的偏差。 JLabel来回跳跃的原因是什么,好像它经常被重新测量一样? 有关示例,请参见附图。 要解决这个问题,我可以将添加到HTML字符串以防止换行,或者使用更复杂的渲染器来渲染彩色字符串。 但我想知道是否有办法让JLabel发挥出色。 我设法将整个案例简化为一个简单的例子。 我要重现的问题是单击各行以更改选择。 import java.awt.BorderLayout; import java.awt.Dimension; import java.util.Locale; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.SwingUtilities; import javax.swing.table.DefaultTableModel; public class TestTable extends JPanel{ public TestTable() { setLayout(new BorderLayout()); Object[][] rows = { { “1 Lorem ipsum dolor […]

JLabel和JLayeredPane – 如何在另一张图像上显示图像?

我尝试在java中创建一个小游戏,但我遇到了麻烦。 当我绘制地图时,我无法在不覆盖正方形的标题集的情况下显示字符。 我的目标是能够在同一个方块上显示许多图片(如草的标题集,角色和树),所以我必须处理我的图片的透明度(这不是问题)和图层(这是问题)。 那么如何在另一张图像上显示图像呢? 如何向java解释我需要在另一个图像上或下面显示此图像? 这是我的源代码。 我不知道是不是可以帮到你。 如果你给我一个能够管理图层的线索或function,你的帮助对我来说真的很有帮助。 对我来说重写所有代码没用.x)这个程序不完整,我只用它来测试我的程序。 我知道他刷了两次地图,所以他覆盖了角色的方格(他还有很多其他的小故障),但这不是我问题的目的。 我尝试一步一步完成我的游戏! import javax.swing.JFrame; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.SwingUtilities; public class Window extends Thread { private static JFrame window = new JFrame(“game”); public void run() { Map map = new Map(); Characters characters = new Characters(); window.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); window.setSize(Settings.sizeX, Settings.sizeY); window.setLocationRelativeTo(null); window.setResizable(false); window.setVisible(true); map.start(); […]

Java Swing加载动画

我想通过java swing实现以下加载动画: 圆圈必须顺时针旋转。 制作它的最佳方法是什么? 非常感谢你。

如何使JLabel从下一行开始

JPanel pMeasure = new JPanel(); …. JLabel economy = new JLabel(“Economy”); JLabel regularity = new JLabel(“Regularity”); pMeasure.add(economy); pMeasure.add(regularity); … 当我运行上面的代码时,我得到这个输出: Economy Regularity 如何获得此输出,每个JLabel在新行上启动? 谢谢 Economy Regularity

我们可以在Java中将2种字体样式组合在一起吗

我正在尝试更改JLabel的字体,因此它既是BOLD又是ITALIC ,但似乎没有定义静态字段来执行此操作。 我们如何组合两种样式,以便我们可以使用粗体斜体字体? 这段代码只使用静态字段BOLD以粗体显示,但没有为粗体和斜体定义字段: Font font = new Font(“Verdana”, Font.BOLD, 12); label = new JLabel (“New Image”) ; label.setFont(font); label.setForeground(Color.Gray.darker());

如何将文本置于JLabel中心?

尽管经过多次尝试,但我无法得到我希望看到的结果 – 在JLabel中居中的文本和JLabel在BorderLayout中居中。 我说“有点”,因为窗口的右下角应该还有另一个标签“status”。 这里有一些代码负责: setLayout(new BorderLayout()); JPanel area = new JPanel(); JLabel text = new JLabel( “In early March, the city of Topeka,” + ” Kansas,temporarily changed its name to Google…” + “…in an attempt to capture a spot” + “in Google’s new broadband/fiber-optics project.” + “source: http://en.wikipedia.org/wiki/Google_server” + “#Oil_Tanker_Data_Center”, SwingConstants.CENTER); text.setVerticalAlignment(SwingConstants.CENTER); JLabel status […]

使用组件将jlabel添加到jframe

我有2节课, 我的主类创建了一个框架,我希望另一个类向其添加内容。 一些阅读arroudn告诉我,我应该使用组件来执行此操作,但是当我运行我的代码时,框架是空的。 public static void main(String[] args) { // create frame JFrame frame = new JFrame(); final int FRAME_WIDTH = 800; final int FRAME_HEIGHT = 600; // set frame attributes frame.setSize(FRAME_WIDTH, FRAME_HEIGHT); frame.setTitle(“My Frame”); frame.setVisible(true); Component1 Com = new Component1(); Component add = frame.add(Com); } 我的Component类创建了一个JLabel public class Component1 extends JComponent { public void […]