有几次我因为建议使用以下方法而受到批评:
在Swing
组件上.当我想在显示的组件之间定义比例时,我没有看到任何替代它们的用法.我被告知这个:
对于布局,答案总是相同的:使用合适的LayoutManager
我在网上搜索了一下,但我没有找到任何关于这个主题的综合分析.所以我有以下问题:
我想添加JTable
到JPanel
其布局中null
. JPanel
包含其他组件.我必须添加JTable
适当的位置.
没有空白区域的GUI显得"拥挤".如何在不借助明确设置组件的位置或大小的情况下提供空白区域?
我是一名.Net开发人员,但不知何故,我的任务是在java中创建一个简单的应用程序,原因还有一些.我能够创建该应用程序但我的问题是如何在应用程序启动时将窗体置于屏幕中心?
这是我的代码:
private void formWindowActivated(java.awt.event.WindowEvent evt)
{
// Get the size of the screen
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
// Determine the new location of the window
int w = this.getSize().width;
int h = this.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
// Move the window
this.setLocation(x, y);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,但问题是我已经看到表单从最顶层移动到中心屏幕.我也尝试在formWindowOpened
事件中添加该代码并仍然显示相同的操作.有更好的方法吗?就像.NET Application
有一个CenterScreen Position
.或者,如果上面的代码是正确的,我将把它放在什么事件上?
感谢您阅读本文.
所以我想要的是交错布局,但列表中的第一项需要跨越两列.前两行也是固定高度.除了第一个项目跨越两列,我的一切都在工作.
我正在使用带有StaggeredGridLayoutManager的RecyclerView.Adapter.似乎不是开箱即用的功能.我假设我可以制作一个自定义布局管理器我不知道从哪里开始.我尝试过搜索,但我找不到任何关于如何让项目跨越多列的信息.
下面的图片是我在列表中寻找的内容.
仅Java库中就有8个布局管理器,然后还有一堆第三方产品.
前几天,我试图使用SpringLayout ......好吧,它对我不起作用.看到我的另一个问题.所以...如果你有一个Swing应用程序的设计,并希望您的布局只是这样,什么是您的首选布局管理器?有关的任何有趣/有用的经历?
更新:是的,确定我知道不同的LM适合不同的布局.但是我希望大多数人在你做的大部分事情中都使用1,2或3,或者你发誓这是一个多才多艺的你永远不需要的东西.有足够的响应,我希望看到类似钟形曲线,GridBagLayout或MigLayout(例如)上的峰值以及使用(例如)BoxLayout或FlowLayout的几个散乱者的长尾.
希望,回复的分布将揭示人们最常使用什么来获取Stuff Done ™的一些趋势
好的,差不多2天后,MiGLayout绝对不在眼前!它的粉丝很高兴听到这个布局很快就会进入"官方"图书馆.
GroupLayout,FormsLayout和TableLayout相对较新,并没有得到太多曝光.也许其他人会像我一样惊讶地发现它们.
简单来说,有一个简单的java swing应用程序,它由JFrame和其中的一些组件组成.其中一个组件是JPanel,它意味着在用户操作上被另一个JPanel替换.
那么,做这样事情的正确方法是什么?我试过了
panel = new CustomJPanelWithComponentsOnIt();
parentFrameJPanelBelongsTo.pack();
Run Code Online (Sandbox Code Playgroud)
但这不行.你会建议什么?
这似乎是一个简单的解决方案,但似乎设置
private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapter;
private LinearLayoutManager mLayoutManager;
.... // More code
mRecyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);
// Add item decoration
mRecyclerView.addItemDecoration(new SpacesItemDecoration(DIVIDER_SPACE));
// use this setting to improve performance if you know that changes
// in content do not change the layout size of the RecyclerView
mRecyclerView.setHasFixedSize(true);
// use a linear layout manager
mLayoutManager = new LinearLayoutManager(getActivity());
mLayoutManager.setReverseLayout(true); // THIS ALSO SETS setStackFromBottom to true
mRecyclerView.setLayoutManager(mLayoutManager);
Run Code Online (Sandbox Code Playgroud)
似乎还要从底部设置要堆叠的项目
我试图设置setStackFromBottom
为false但是没有做任何事情,什么是扭转项目顺序但仍然从顶部填充的最佳方法?我应该使用Custom Comparator类吗?我希望这比创建另一个类更容易.
我阅读了一些有关Java布局管理器的信息,建议是MigLayout.我的问题是,我没有找到任何教程或简单的逐步文档.
所以我想知道这一切是如何运作的,但我不知道如何.
希望,这不是微不足道的.
提前谢谢,guerda
有没有人有过基于jQuery的布局管理器的经验?我只知道一个(JX),但它对我的需求有些臃肿.有什么想法吗?
layout-manager ×10
java ×8
swing ×5
android ×2
layout ×2
cardlayout ×1
jpanel ×1
jquery ×1
jtable ×1
miglayout ×1
netbeans ×1
reverse ×1
whitespace ×1