簡體   English   中英

JTextField在調用的方法中不可見

[英]JTextField not visible in invoked method

我正在嘗試使用文本字段和標簽填充面板,標簽正在按預期方式反映,但是文本字段未顯示。 下面是正在使用的代碼:

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

    }

編輯:附加了屏幕抓圖結果

嘗試更改面板的布局。

就像queue.setLayout(new FlowLayout());

或將組件一一添加到面板中,

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

方法Container.add(Component comp,Object Constraints)添加具有給定約束的給定Component ,這並不意味着一次添加兩個Component

更換:

queue.add(lblqname, txtqname);

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM