我正在爲Java中的數據結構製作GUI。我想要一個功能,只要用戶單擊窗體頂部的最大化按鈕,組件和窗體中的所有內容都應該在窗體展開時調整大小,反之亦然。我搜索了很多,但找不到解決方案。調整桌面GUI中的組件大小
如何縮放GUI?
我正在爲Java中的數據結構製作GUI。我想要一個功能,只要用戶單擊窗體頂部的最大化按鈕,組件和窗體中的所有內容都應該在窗體展開時調整大小,反之亦然。我搜索了很多,但找不到解決方案。調整桌面GUI中的組件大小
如何縮放GUI?
你能幫我等被按下的最大化按鈕時如何調整工具欄的一些短代碼..
我會做的更好。以下是一個短代碼示例,其中顯示了其中具有不同的調整行爲取決於它們被放置在BorderLayout
中的位置。
import java.awt.BorderLayout;
import javax.swing.*;
public class ResizableToolBars {
public static void showFrameWithToolBar(String toolBarPosition) {
// the layout is important..
JPanel gui = new JPanel(new BorderLayout());
JToolBar tb = new JToolBar();
// ..the constraint is also important
gui.add(tb, toolBarPosition);
tb.add(new JButton("Button 1"));
tb.add(new JButton("Button 2"));
tb.addSeparator();
tb.add(new JButton("Button 3"));
tb.add(new JCheckBox("Check 1", true));
JFrame f = new JFrame(toolBarPosition + " Sreeeetchable Tool Bar");
f.setContentPane(gui);
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setLocationByPlatform(true);
f.pack();
// we don't normally set a size, this is to show where
// extra space is assigned.
f.setSize(400,120);
f.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
showFrameWithToolBar(BorderLayout.PAGE_START);
showFrameWithToolBar(BorderLayout.PAGE_END);
showFrameWithToolBar(BorderLayout.LINE_START);
showFrameWithToolBar(BorderLayout.LINE_END);
showFrameWithToolBar(BorderLayout.CENTER);
}
});
}
}
BorderLayout
的JavaDocs。如果你回來後的Nested Layout Example,你應該能夠找出我如何把它一起在的一個區組件,各自在自己的佈局(在面板)的小團體父容器。
我寫「堆棧」爲GUI – rick
代碼通常沒有最好是按比例的每一個組件,而是以供應額外的寬度或高度,以特定組件。 [嵌套版式示例](http://stackoverflow.com/a/5630271/418556)可以做到這一點 - 調整它的大小以瞭解我的意思。在這種情況下,它真的歸結爲用於在GUI中定位組件的佈局管理器,以及添加它們時使用的約束。 –
沒有得到任何東西wat嵌套佈局示例正在做。你能幫助我一些簡短的代碼,如按下最大化按鈕時如何調整工具欄的大小 – rick