2017-06-15 16 views
0

我試圖用textfield和label填充一個Panel,標籤正在反射,但是textfield沒有顯示出來。 下面是正在使用的代碼:JTextField在調用的方法中不可見

package qmutility; 

    import java.awt.GridLayout;  
    import javax.swing.JFrame; 
    import javax.swing.JLabel; 
    import javax.swing.JPanel; 
    import javax.swing.JScrollPane; 
    import javax.swing.JTabbedPane; 
    import javax.swing.JTextArea; 
    import javax.swing.JTextField; 

    public class panetest1 
    { 

     public static void main(String[] args) 
     { 
      createSubframe(); 

     } 

     public static void createSubframe() 
     { 
      final JFrame subframe = new JFrame("Object Choice"); 
      subframe.setSize(1000, 500);   
      subframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      subframe.getContentPane().setLayout(new GridLayout(1, 1)); 
      JTextArea out = new JTextArea(); 
      out.setEditable (false); 
      JScrollPane jp = new JScrollPane(out); 
      jp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
      jp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 

      JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); 

      JPanel queue = new JPanel(); 
      JLabel lblqname = new JLabel("Please enter the queue name"); 
      JTextField txtqname = new JTextField(20); 

      queue.add(lblqname, txtqname); 

      JPanel chl = new JPanel(); 

      tabbedPane.addTab("Queues", queue); 
      tabbedPane.addTab("Channels", chl);  
      subframe.getContentPane().add(tabbedPane); 
      subframe.getContentPane().add(jp); 
      tabbedPane.setVisible(true); 
      subframe.setVisible(true);  
     } 

    } 

編輯:附screengrab result

回答

0

試着改變你的面板佈局。

一樣,queue.setLayout(new FlowLayout());

或由一個部件到面板一個添加,

queue.add(lblqname); 
queue.add(txtqname); 
+0

那裏您好,感謝您的快速之一,我曾嘗試它在你的建議,結果仍然不變。 –

+0

感謝一噸@grathour和伯傑.... 該訣竅... 非常感激 –

+0

遺憾的拼寫錯誤您的姓名,鍵盤上的該死的P使我膽顫心驚...... 試圖接受你的答案它說,你可以在一分鐘內接受答案......猜猜我應該等待那個窗口 –

相關問題