簡體   English   中英

調整回轉部件的位置

[英]Adjusting positions of swing components

我有一個JFrame,我必須在其中插入JLabel,文本字段和JButton。 我能夠做到這些,但是我如何將它們調整到所需的位置,我想在一行中添加一個標簽和文本字段,然后在下一行中添加nxt標簽和文本字段,但是它們在同一水平線上。 我已經將flowLayout與JFrame一起使用了。 請告訴我如何進行相應調整。 謝謝

在Swing中分配容器中組件的關鍵是布局管理器 有各種各樣的類型。 要執行您想要的操作,您可能需要考慮GridLayout 設置非常容易。 您首先需要創建布局。 下面將創建一個兩列的布局,其中包含與您提供的一樣多的行:

GridLayout gl = new GridLayout(0,2);

然后將其應用於面板:

JPanel panel = new JPanel(gl);

然后添加您的項目:

panel.add(textfield1);
panel.add(button1);
panel.add(textfield2);
panel.add(button2);

在使用組件填充列后,GridLayout將處理從一行到另一行的移動。

看看gridbaglayout了嗎? 應該達到您的目的。

GridLayout可能是您想要的,或者是GridLayout和FlowLayout的組合。 查看LayoutManager教程 ,以更好地了解何時以及如何使用和組合各種布局管理器。

您需要研究swing提供的各種類型的布局。 您也可以看看JGoodies提供的FormLayout 我更喜歡使用此布局而不是擺動布局,因為我發現它易於編碼且代碼行少

您正在使用默認的Swing布局管理器。 如果您想要不同的行為(這是非常合理的),則需要使用另一個LayoutManager。 Sun和“外面”都有一些人。

為了使您能夠進行選擇,您需要了解它們的工作方式。 我強烈建議為此使用Java教程:

http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html

讓我們知道您是否需要更多的資源,例如嵌套的BorderLayout或TableLayout。

如果希望能夠(幾乎)完全將UI元素放置在應用程序中,請考慮使用像NetBeans中的Matisse或IntelliJ IDEA中的Swing UI Designer這樣的體面GUI構建器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM