编程语言
首页 > 编程语言> > Java Swing和组件定位

Java Swing和组件定位

作者:互联网

我正在为我的应用程序的JFrames创建基类.我想在从此类继承的所有框架的右上角和右上角插入一个JXSearchField.我有网络背景并且对CSS非常了解.我要的效果是float:right;或“固定位置”,其中其他元素不受此组件的高度影响.

我正在谈论的一个示例是在顶部对齐JTabbedPane的JFrame.我的标签窗格只有三个标签,但是我的框架宽度为800px.这为我的右上对齐搜索框留出了足够的空间,但是我的选项卡式窗格正在为其他选项卡保留该空间.我想浮动或固定搜索框的位置以覆盖该空间.

解决方法:

如果我理解正确,您是否想在选项卡旁边的JTabbedPane上绘制TextField?

挥杆操作没有简单的方法.您可以使用glassPane-Component在右上方绘制TextField.并将其设置为框架.

UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );

JFrame frame = new JFrame();
frame.setBounds( 50, 50, 800, 600 );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

JPanel glasspane = new JPanel(new FlowLayout(FlowLayout.RIGHT));

frame.setGlassPane( glasspane );

glasspane.setOpaque( false );
JTextField textField = new JTextField("Search");
glasspane.add(textField);
glasspane.setVisible( true );

JTabbedPane tabs = new JTabbedPane();
tabs.setBorder( BorderFactory.createEmptyBorder( 10, 5, 5, 5 ) );
tabs.addTab( "Lorem", null );
tabs.addTab( "Ipsum", null );
tabs.addTab( "Dolor", null );
frame.setContentPane( tabs );
frame.setVisible( true );

标签:swing,positioning,java
来源: https://codeday.me/bug/20191102/1992489.html