2012-04-30 36 views
1

我需要有一个GUI这样的:如何在java中绘制框图?

Block Diagram

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

+0

你问如何为*漆*在Java中的图?或者你问如何创建一个GUI布局,其中的框是JButtons? –

+0

我在问如何创建一个GUI布局,其中的框是JButtons。 – svkvvenky

+0

您想将按钮绘制为矩形,还是正在寻找[this](http://cl.ly/3Y1X2l301z383e0f231V)之类的东西。 – Paaske

回答

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); 

    } 
} 
0

我想你问上的Java Swing的事情。你可以使用drawLine()和drawRect(),并且你必须控制组件上的绘画。一旦你明白了这一点,并创建适合你需要的基础课程,你就可以做得很好。
有关信息:请参阅Schildt关于Swing:入门指南的示例。 495. 页。listing- http://www.mhprofessional.com/getpage.php?c=computing_downloads.php&cat=112上(去底)

希望这有助于..