Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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中的两个动态文本之间保持恒定间隙?(参见图)_Java_Swing_User Interface_Jlabel - Fatal编程技术网

Java 如何在jlabel中的两个动态文本之间保持恒定间隙?(参见图)

Java 如何在jlabel中的两个动态文本之间保持恒定间隙?(参见图),java,swing,user-interface,jlabel,Java,Swing,User Interface,Jlabel,路径部分可能更长或更短,但必须锁定在静态位置我不能完全确定是否完全理解该要求。正如我所理解的,下面的内容应该可以做到这一点 public static void main( String[] args ) { EventQueue.invokeLater( new Runnable() { @Override public void run() { JFrame testFrame = new JFrame( "TestFrame" );


路径部分可能更长或更短,但必须锁定在静态位置

我不能完全确定是否完全理解该要求。正如我所理解的,下面的内容应该可以做到这一点

  public static void main( String[] args ) {
    EventQueue.invokeLater( new Runnable() {
      @Override
      public void run() {
        JFrame testFrame = new JFrame( "TestFrame" );
        JPanel contents = new JPanel( new BorderLayout(  ) );

        contents.add( new JLabel( "Locked" ), BorderLayout.EAST );

        JPanel textPanel = new JPanel( new FlowLayout( FlowLayout.LEFT ) );
        textPanel.add( new JLabel( "C:\\Users\\Pictures\\Sample pictures\\Chrysanthemum.jpg ") );

        contents.add( textPanel, BorderLayout.CENTER );

        testFrame.setContentPane( contents );
        testFrame.pack();
        testFrame.setDefaultCloseOperation( WindowConstants.DISPOSE_ON_CLOSE );
        testFrame.setVisible( true );
      }
    } );
  }

由于调用了testFrame.pack(),两个标签粘在一起。但是,如果手动调整大小,您将看到
锁定的
标签保留在右侧,而URI获得所有可用空间。

调整大小时会发生什么?如果您只希望文本占用所有可用的额外空间,而锁定的文本继续使用相同的空间,则可以使用
边框布局
<文本的代码>居中
(可能包装在一个带有
FlowLayout#LEFT
)的额外面板中),标签的
不可调整大小时,上述解决方案应:work@Robin你能不能给我一些代码,从JList中可以使用NavigationFilter.Bias或者通过Htmlis,使用labelUI来实现这一点?