Вопрос для знакомых с MigLayout
извините не мог думать о более соответствующем названии вопроса...
Я пытаюсь создать расположение, которое закончит тем, что было похоже на следующее:
+---------+---------+
| btn1 | btn2 |
+---------+---------+
| |
| btn3 |
| |
+-------------------+
когда окно изменено, компоненты btn1 и btn2 должны заполнить ось X (половина каждого), и компонент btn3 должен заполнить и ось X и все свободное место в оси y.
как Вы достигли бы этого?
вот некоторый код для запуска с:
public static void main(String[] args)
{
JFrame window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = window.getContentPane();
cp.setLayout(new MigLayout(""));
cp.add(new JButton("btn1"), "");
cp.add(new JButton("btn2"), "");
cp.add(new JButton("btn3"), "");
window.pack();
window.setVisible(true);
}
Там нет необходимости назвать это. .NET имеет класс Uribuilder , который может помочь вам в создании вашего URL-адреса. Проверьте эту статью, чтобы увидеть, как она работает и сделать его немного более интуитивным:
http://codeiDol.com/csharp/csharpckbk2/web/using-the-uribuilder-Class/
-121--1728974-Это довольно легко в Miglayout:
setLayout(new MigLayout("fill"));
add(new JButton("button 1"), "w 50%");
add(new JButton("button 2"), "w 50%, wrap");
add(new JButton("button 3"), "grow, push, span");
Если вы прочитаете оригинальный вопрос PSTanton, я думаю, что необходимые инструкции на макете очень близки к тому, как он его сформулировал. Это то, что мне нравится в Miglayout :)
Я никогда не использовал Miglayout, но это должно быть что-то вроде следующего:
...
cp.add(new JButton("btn1"));
cp.add(new JButton("btn2"), "wrap");
cp.add(new JButton("btn3"), "span");
...
Итак, вы хотите что-то подобное:
В самой Swing Layout Demo, в разделе "Flow Direction"
Вот код из этого примера:
JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.addTab("Layout: flowx, Cell: flowx", createFlowPanel("", "flowx"));
tabbedPane.addTab("Layout: flowx, Cell: flowy", createFlowPanel("", "flowy"));
tabbedPane.addTab("Layout: flowy, Cell: flowx", createFlowPanel("flowy", "flowx"));
tabbedPane.addTab("Layout: flowy, Cell: flowy", createFlowPanel("flowy", "flowy"));
public JPanel createFlowPanel(String gridFlow, String cellFlow) {
MigLayout lm = new MigLayout("center, wrap 3," + gridFlow,
"[110,fill]",
"[110,fill]");
JPanel panel = createTabPanel(lm);
for (int i = 0; i < 9; i++) {
JButton b = createButton("" + (i + 1));
b.setFont(b.getFont().deriveFont(20f));
panel.add(b, cellFlow);
}
JButton b = createButton("5:2");
b.setFont(b.getFont().deriveFont(20f));
panel.add(b, cellFlow + ",cell 1 1");
return panel;
}