首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JLabel与J中的文本不一致

JLabel与J中的文本不一致
EN

Stack Overflow用户
提问于 2012-11-05 16:38:32
回答 1查看 266关注 0票数 2

我有一个奇怪的恼人的情况。我有一个插入了文本的JTextPane。除了文本之外,还有JLabels形式的链接。下面是一个快照:

现在的问题是:为什么JLabel (超文本标记语言链接)不与同一行上的文本平行?它略低于这个值。文本为"Calibri“,字体为14。JLabel:

代码语言:javascript
复制
label.setForeground(Color.blue);    
label.setFont(new Font("Check",Font.BOLD,14));                
makeLinkable(label, new LinkMouseListener());

请帮帮忙。JLabel背后的链接是:<html><a href="file:///C:/Users/Jatin/Documents/NetBeansProjects/ImageRename/log/2012-10-5%20Time%2013-52-1.csv"> file:///C:/Users/Jatin/Documents/NetBeansProjects/ImageRename/log/2012-10-5%20Time%2013-52-1.csv</a></html>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-05 19:48:57

看看JComponent#setAlignmentY(...):java - How to appropriately adding JLabel to JEditorPane? - Stack Overflow

代码语言:javascript
复制
import java.awt.*;
import javax.swing.*;
public class BaselineTest {
  public JComponent makeUI() {
    JLabel label1 = makeLabel();
    JLabel label2 = makeLabel();
    String s = "For detailed infomation refer: ";
    JTextPane textPane = new JTextPane();
    textPane.replaceSelection(s);
    textPane.insertComponent(label1);

    Dimension d = label2.getPreferredSize();
    int baseline = label2.getBaseline(d.width, d.height);
    label2.setAlignmentY(baseline/(float)d.height);
    textPane.replaceSelection("\n\n"+s);
    textPane.insertComponent(label2);

    return new JScrollPane(textPane);
  }
  private static JLabel makeLabel() {
    JLabel label = new JLabel("2012-10-05");
    label.setForeground(Color.BLUE);
    label.setOpaque(false);
    return label;
  }
  public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
      @Override public void run() {
        createAndShowGUI();
      }
    });
  }
  public static void createAndShowGUI() {
    JFrame f = new JFrame();
    f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    f.getContentPane().add(new BaselineTest().makeUI());
    f.setSize(320, 240);
    f.setLocationRelativeTo(null);
    f.setVisible(true);
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13228509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档