Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JLabel与J中的文本不一致_Java_Swing - Fatal编程技术网

Java JLabel与J中的文本不一致

Java JLabel与J中的文本不一致,java,swing,Java,Swing,我有一个非常恼人的情况。我有一个插入了文本的JTextPane。除了文本之外,还有jlabel等链接。下面是一个快照: 现在的问题是:为什么JLabel(一个HTML链接)与同一行上的文本不平行?略低于。 文本为“Calibri”,字体为14。JLabel: label.setForeground(Color.blue); label.setFont(new Font("Check",Font.BOLD,14)); makeLinkable(label,

我有一个非常恼人的情况。我有一个插入了文本的JTextPane。除了文本之外,还有jlabel等链接。下面是一个快照:

现在的问题是:为什么JLabel(一个HTML链接)与同一行上的文本不平行?略低于。 文本为“Calibri”,字体为14。JLabel:

label.setForeground(Color.blue);    
label.setFont(new Font("Check",Font.BOLD,14));                
makeLinkable(label, new LinkMouseListener());
请帮忙。JLabel后面的链接是:
看看JComponent#setAlignmentY(…):


看起来上面提到的html与快照上的不一样。快照上的
a
标记中的值是
2012-10-5时间13-52-1
,但不是
file:///C:/Users/Jatin/Documents/NetBeansProjects/ImageRename/log/2012-10-5%20Time%2013-52-1.csv
。基本相同,只是文本不同。图片取自不同的跑步路线。谢谢。那么,可能是布局问题。您能提供一个简单的运行示例吗?实际上,html代码中似乎有

标记。请参见此。
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);
  }
}