簡體   English   中英

使用JTable類時,JScrollPane的構造函數及其add方法有什么區別?

[英]What's the difference between the constructor of JScrollPane and its add method when use JTable class?

這些天我正在學習JTable類,我想在JFrame中顯示表頭。

當我的代碼像這樣

JScrollPane scrollPane = new JScrollPane(table); //table had been constucted;

沒事

當我的代碼像這樣

JScrollPane scrollPane = new JScrollPane();
scrollPane.add(table);

當我運行程序時,在JFrame中看不到任何數據。

我希望通過閱讀JScrollPane的源代碼並閱讀Java SE API文檔來找到一些東西,但是我沒有得到滿意的答復。 我所知道的就是add是從Container繼承的,而JScorllPane的構造函數有不同的實現。 但我不明白為什么。 :(

你能幫助我嗎 ? 非常感謝!

ps:這是StackOverflow上的第一個問題。 我是中國學生,我的英語不好。 如果有什么問題,請原諒。 再次3ks。

構造函數不會將JTable添加到JScrollPane,而是添加到其視口的視圖。

所以這:

JScrollPane scrollpane = new JScrollPane(jTable); // (1)

等效於:

JScrollPane scrollpane = new JScrollPane();  // (2)
scrollpane.setViewportView(jTable);  // (3)

因此請注意,上面第(1)行中的構造函數調用不會將JTable添加到JScrollPane組件本身,因為如果這樣做,它將替換其視口,從而使JScrollPane無法操作。 相反,構造函數將組件添加到其JViewport。

暫無
暫無

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

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