如何在java中绘制块图?

时间:2012-04-30 05:54:27

标签: java user-interface jform-designer

我需要GUI这样:

Block Diagram

这里所有的矩形都必须是按钮。我怎样才能做到这一点?建议我使用像JFormDesigner这样的工具。

2 个答案:

答案 0 :(得分:2)

我在JGraph获得了很多很好的经验!

查看文档以及您可以实现的一些示例here

可以单击图表中的每个节点,并且可以像按钮一样收听和操作事件。实际上我认为你可以将JButton放入图中的节点,但我可能错了。

编辑:使用常规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);

    }
}

答案 1 :(得分:0)

我想你在Java Swing上要求的东西。您可以使用drawLine()和drawRect(),并且您可以控制绘制组件。一旦你理解了这一点,并创建适合你需要的基本课程,你就可以做得很好 有关信息:请参阅Schildt关于Swing的例子:初学者指南。第495页。 对于列表 - http://www.mhprofessional.com/getpage.php?c=computing_downloads.php&cat=112(转到底部)

希望这会有所帮助..