English 中文(简体)
在java,你如何把一个JPanel加到另一个JPanel
原标题:In java how do you add a JPanel to another JPanel

I wish to add 3 JPanels, all spaced different distances apart, that fill the Content Pane/JFrame. Currently, add(new JPanel()) will overrite the current content pane or not show up at all.

理想的情况是,我希望该守则能够类似(例如,为了:

JPanel panel1 = new JPanel();
panel1.add(new jbutton())
panel1.setBounds(0,0,100,100);

JPanel panel2 = new JPanel();
panel2.add(new jbutton());
panel2.setBounds(100,0,100,100);

getContentPane().add(panel1);
getContentPane().add(panel2);

......

I know a panel can be added to a panel because I ve done it with borderlayout. Please don t tell me to use a layout manager, I ve been using gridbag and it hasn t produced the results I want.

我要完全控制我的物体大小和位置。 另外,请不要告诉我,“你 re;这是 st;为什么你想要这样做?”

仅提供有益的答复。 我不是一位神学家,而只是一个与全球倡议的灰色挫折,因此,我感到可以像你一样深入深入地看待。

问题回答

JFrame的内容充斥着边界线,因此每次在外加一个新小组时,都不会在布局中指明其位置,而是将其添加到该中心,从而取代以前的小组。

只是把内容放在你想要的东西上。 当然,你可以使用“取消”一词(即为<代码>null定下布局),但是,由于这一设计错误,你被搁置了一段时间。 仅仅因为你无法使用非专业管理人员,就意味着你应该这样做。 正确学习。 GridBagLayout是最复杂的。 你可以首先使用其他办法。

我愿补充3个小小小队,它们都分散了不同的距离,填补了Pane/JFrame的内容。

举例来说,小组的距离并不大。 小组相互连接。 因此,你们都需要利用一个小组,利用一个横向差距0的流放。

你的主要法典可以是:

JPanel main = new JPanel( new FlowLayout(FlowLayout.CENTER, 0, 0) );

JPanel panel1 = new JPanel();
panel1.setPreferredSize( new Dimension(100, 100) );
panel1.add( new JButton() );
main.add( panel1 );

JPanel panel2 = new JPanel();
panel2.setPreferredSize( new Dimension(100, 100) );
panel2.add( new JButton() );
main.add( panel2 );

frame.add( main );

鉴于你找到像这种混淆一样的排外法,我建议你不要真正理解如何使用非专业管理人员。 同其他人一样,我建议你花时间了解如何利用非专业管理人员来利用你的优势。

采用取消规定的方式使你的生活更加容易。 保证你能够把部件完全放在你想要的地方,但你是否满足了要求,即小组处理内容的全时空间? 你们没有能够使用这个框架的包装方法,因为当你使用一片废品时,你的“主”小组就赢得一片首选的大小,这样,当你把这个框架看上去时,你就会看到的是所有权线和边界。 如果你以人工方式试图确定框架的规模,那么你知道3个小组的规模(300×100),但你不知道名称线和边界的规模。 因此,你赢得一定能够适当计算规模。

了解非专业管理人员可能需要几分钟时间,但这是很值得的。

http://download.oracle.com/javase/tutorial/uiswing/layout/none.html 如果没有一名Layout管理员,那就应该帮助你。 它提出的最重要的建议是,要么使用国际电算系统,例如Net Beans ,但也包括手工艺。

请注意,如果你发现自己为你工作的违约“LayoutManager”,你总是能够写自己的一份——尽管在这种情况下,它像,JSplitPane是你需要的——见。 如何使用Split Panes

执着的管理人员将允许你完全控制其组成部分的位置和规模,你在给予你必要的控制的同时,才刚刚找到一个足以供你申请的简单办法。 如果没有非布局主管,但我从不建议采用这种方式撰写《全球倡议》的守则,你将最终管理太多的“全球倡议”的 st,通常由“LayoutManager加以正确管理。 (例如免费空间管理,母窗转成)。

<代码>LayoutManager的班次以同样方式工作;如果在<代码>上添加一个部分,则你还具体规定了一个制约因素,即:<代码>LayoutManager,在什么地方安置该部件,以及如何处理对部件安置有影响的所有类型的事件(如集装箱转售)。 一些非专业主管有非常简单的制约因素(BorderLayout只要求组成部分所在地),而另一些则通过GridBagConstraints,有一套完整的制约因素(GridBagLayout)。

www.un.org/Depts/DGACM/index_french.htm 我倾向于<代码>。 GridBagLayout (JavaDoc 。 当正确使用类别时,你可以具体说明展示出你的植被、每个组成部分之间的间隔、空间的分配方式等等。 tutorial,应帮助您从该非专业经理开始。

If this one does not suit your needs, or if you feel it is too complex, you should search the web for tutorials on other LayoutManager.





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...