草庐IT

java - 如何更改 JLabel 的图标?

我有一个jlabel来显示生成的图像。但它只在第一次起作用。之后,jlabel的imageicon不会改变。可能是什么问题? 最佳答案 很可能您有两个JLabel实例。一个是类变量,一个是已添加到GUI的实例变量。问题是您的代码正在更新类变量。或者,如果您不更新EDT上的图标,您可能会遇到问题。编辑:重新阅读问题。如果您谈论的是需要从文件重新加载的“生成的图像”,那么您需要删除缓存的图像。两种方法://UsingImageIOStringimageName="timeLabel.jpg";imageLabel.setIcon(new

java - 如何将 JLabel 的文本放在其图标下

我试图将JLabel的文本放在它的图标(居中)下,我可以得到这个使用JLabelnorth=newJLabel("North")我尝试在标签JLabel("North")中使用html但它没有正确对齐。有什么建议么? 最佳答案 看这个:http://www.java2s.com/Code/Java/Swing-JFC/LabelTextPosition.htm基本上,在你的情况下使用这个:north.setHorizontalTextPosition(JLabel.CENTER);north.setVerticalTextPosit

java - 使 JLabel 在 JPanel 上居中

我正在使用NetBeansGUI构建器来处理我的布局(我对LayoutManagers很糟糕)并试图放置一个简单的JLabel,以便它始终(水平)居中于其父JPanel内。理想情况下,即使调整了JPanel的大小,这也会保持正确,但如果这是一个疯狂的编码量,而不是在首次创建JPanel时仅居中就足够了。我自己尝试处理布局已经够糟糕了,但是由于NetBeansGUIBuilder自动生成不可变代码,我不可能弄清楚如何进行这种居中,而且我无法在网上找到任何东西来帮助我。感谢任何能引导我朝着正确方向前进的人! 最佳答案 这里有四种让组件居

java - 查明 JLabel 的文本是否超过标签大小

在Java中,当由于缺少空间而无法显示JLabel的文本时,文本将被截断并在末尾添加“...”。我怎样才能轻松找出当前JLabel显示的是全文还是截断的文本?编辑:我看到有一种方法可以使用FontMetrics找出文本的大小。然而,这个解决方案并没有完全回答这个问题。如果JLabel的文本包含HTML装饰,metrics.stringWidth()也会计算HTML标签的宽度。因此,metrics.stringWidth()的结果可能会大于JLabel的宽度,但文本仍会正确显示。有没有办法知道在显示文本时JLabel本身做出了什么决定。是否决定截断文本。 最佳

java - JLabel.setBackground(Color 颜色) 不起作用?

在此SSCCE代码中:这个方法行得通label.setForeground(Color.GREEN);但是这个下一个方法行不通!label.setBackground(Color.BLUE);importjava.awt.*;importjavax.swing.*;publicclassLabelColorTestextendsJPanel{staticJLabellabel;JPanelpanel;publicLabelColorTest(){label=newJLabel();label.setVerticalAlignment(JLabel.CENTER);label.setHo

java - JLabel 在 3 行中居中内容

我正在尝试将JLabel中的内容居中,并将前三个字符串添加到三个不同的行中。我试着用CSS来做,但是JLabel没有按照我想要的方式格式化它。它目前的样子:但我希望它看起来像这样:================================||Eleking02vs.Nils||||||。7-3.||||。Gewonnen!.pane.setText(""+this.getGewinner()+""+"Vs."+this.getVerlierer()+""+""+this.getSiegerPunkte()+"-"+this.getVerliererPunkte()+""+"Gew

Java JLabel HTML 在字体与系统字体冲突时显示乱码

已更新-问题现在以一种丑陋的方式解决了-但必须有一个正确的方法来做到这一点?当字体名称与系统上已安装的字体名称冲突时,我在使用JLabel中的HTML以自定义字体呈现文本时遇到问题。系统字体采用不同的格式(otf与ttf),因此文本出现乱码也就不足为奇了。调用GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont返回false以显示字体注册失败。所以我想问题是,有没有办法不用注册就可以使用这个字体,或者有办法在注册之前重命名它?我现在已经通过编辑ttf文件并修改字体名称来解决我的问题,从而使冲突极不可能发生,但我猜必

java - JLabel HTML 中的相对路径

我试图让JLabel显示一个html,它使用相对路径引用图像。但我无法让JLabel定位图像。当我使用绝对路径时它工作正常。我已经尝试从命令行或从eclipse运行该程序并添加对话框以显示当前工作目录在哪里但无济于事。因此,我得出结论,图像未在当前目录中搜索-这让我明白了这一点。图片在哪里找的?这是一个显示我在做什么的测试代码:importjavax.swing.*;publicclassHTMLLabelextendsJFrame{publicHTMLLabel(){setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JOptionPane.

java - 如何在 Java Swing 的 JLabel 中设置行间距/高度?

我有以下JLabel代码:JLabelsomeJLabel=newJLabel("firstlinesecondline");someJLabel.setFont(newFont("Arial",Font.PLAIN,16));我想做的是能够控制两条线之间的线高/间距。PS:我也看过使用段落而不是分界线,但这是一回事。而且我不知道您是否可以在不使用css的情况下在html标记中执行此操作(您不能在JavaSwing中的JLabel中的html代码中使用css)。 最佳答案 这应该可以工作,但事实并非如此。color:green虽然有

Java Swing JLabel、HTML 和自定义字体

在我们的JavaSwing应用程序中,我们正在加载自定义字体并将其添加到JLabel:try{this.font=Font.createFont(Font.TRUETYPE_FONT,newFile("resources/fonts/ourcoolfont.ttf")).deriveFont(16f);}catch(Exceptione){this.font=newFont("Arial",Font.PLAIN,16);}this.label.setFont(this.font);在3个不同的系统上简单且运行良好。直到有人试图运行它。字体已加载(我们也在其他一些Swing元素上使用),