1

我需要有GUI这样的:

框图

这里所有的矩形都必须是按钮。我怎样才能做到这一点?建议我一些工具,例如JFormDesigner.

4

2 回答 2

2

我对JGraph有很多很好的经验!

请参阅文档和一些您可以在此处实现的示例

图表中的每个节点都可以被点击,事件可以被监听并采取行动,就像按钮一样。事实上我认为你可以将JButtons 放入图中的节点中,但我可能错了。

编辑:只是使用常规 Java Swing 代码的布局将是这样的

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class LayoutTest {

    public static void main(String[] args) {

        JFrame window = new JFrame();
        Container container = window.getContentPane();
        container.setLayout(new BorderLayout());

        JPanel centerPanel = new JPanel();
        centerPanel.add(new JButton("Center"));
        container.add(centerPanel, BorderLayout.CENTER);

        JPanel topPanel = new JPanel();
        topPanel.add(new JButton("b1"));
        container.add(topPanel, BorderLayout.NORTH);

        JPanel rightPanel = new JPanel();
        rightPanel.add(new JButton("b3"));
        container.add(rightPanel, BorderLayout.EAST);

        JPanel bottomPanel = new JPanel();
        bottomPanel.setLayout(new BorderLayout());

        JPanel bottomNorthPanel = new JPanel();
        bottomNorthPanel.add(new JButton("b2"));
        bottomPanel.add(bottomNorthPanel, BorderLayout.NORTH);

        JPanel bottomSouthPanel = new JPanel();
        bottomSouthPanel.add(new JButton("b2-1"));
        bottomSouthPanel.add(new JButton("b2-2"));

        bottomPanel.add(bottomSouthPanel, BorderLayout.SOUTH);

        container.add(bottomPanel, BorderLayout.SOUTH);

        window.setSize(320, 240);
        window.setVisible(true);

    }
}
于 2012-04-30T05:59:06.950 回答
0

我想您是在询问有关 Java Swing 的内容。您可以使用 drawLine() 和 drawRect(),并且您必须控制对组件的绘制。一旦你很好地理解了这一点,并创建了适合你需要的基本类,你就可以做得很好。
有关信息:请参阅 Schildt 在 Swing: A Beginner's Guide 中的示例。在第 495 页。对于列表 - http://www.mhprofessional.com/getpage.php?c=computing_downloads.php&cat=112(到底部)

希望这可以帮助..

于 2012-04-30T06:22:21.807 回答