2014-09-26 72 views
-2

我正在製作一個特定的用戶界面在java中(編程),但我無法實現我的目標用戶界面。我需要幫助來實現我的目標用戶界面。我甚至嘗試過SWT設計師,但我仍然沒有成功。提前致謝。Java設計一個UI

我的代碼:

public class Main{ 

    /** 
    * @param args 
    */ 

    static JTextArea lblOne = new JTextArea ("Enter Nb Of Rows"); 
    static JButton btn1 = new JButton("Generate Table"); 
    final static TextField tf1 = new TextField(); 

    static JFrame AFrame; 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

      AFrame = new JFrame("Pascal's Table Generator"); 

      AFrame.setLayout(new BorderLayout()); 

      // Add a window listner for close button 
      AFrame.addWindowListener(new WindowAdapter() { 

       public void windowClosing(WindowEvent e) { 
        System.exit(0); 
       } 
      }); 


      tf1.setText(""); 



      //AFrame.add(lblOne); 
      //lblOne.setText("      \n      "); 

      //JTextArea textArea = new JTextArea(5, 5); 
      JScrollPane scrollableTextArea = new JScrollPane(lblOne); 

      scrollableTextArea.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
      scrollableTextArea.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 





      AFrame.getContentPane().add(scrollableTextArea); 

     // AFrame.add(new JScrollPane(lblOne)); 
      AFrame.add(btn1); 
      AFrame.add(tf1); 
      AFrame.setSize(800, 800); 


      btn1.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent arg0) { 
       // TODO Auto-generated method stub 
       lblOne.setText(""); 

       genPyrN(Integer.parseInt(tf1.getText().toString())); 
      } 
     }); 


      //set the layout of the frame to FlowLayout 
      //and align the components to the center 
      AFrame.setLayout(new FlowLayout(FlowLayout.CENTER)); 
     AFrame.setVisible(true); 

當前UI: enter image description here

目標用戶界面: enter image description here

+0

那麼問題是什麼?添加組件後,可能需要「重新繪製」。 – 2014-09-26 13:21:42

+0

如果您對ui設計不熟悉,請使用netbeans.and工具分析生成的代碼 – 2014-09-26 13:28:55

+1

嘗試NetBeans中的GUI生成器。 – Puce 2014-09-26 13:29:59

回答

0

首先你應該閱讀更多關於Java中的佈局管理的,我喜歡這一個: http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

在這種具體情況下,邊界佈局是一個好主意。該框架可以有一個BorderLayout和JScrollPane可以進入中心部分和按鈕到北部。

但是,在代碼中設置BorderLayout後,這沒有任何意義:AFrame.setLayout(new FlowLayout(FlowLayout.CENTER));。我建議創建一個JPanel,將按鈕添加到它,然後將此面板放入BorderLayouts NORTH部分。