第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 JButton 添加到 JScrollPame

將 JButton 添加到 JScrollPame

梵蒂岡之花 2023-03-17 17:06:38
我有以下代碼取自 GeeksforGeeks,它使用 JScrollPane 在 JTable 中顯示二維數(shù)組的內(nèi)容:public class JTableExamples { // frame JFrame f; // Table JTable j; // Constructor JTableExamples() {     // Frame initiallization     f = new JFrame();     // Frame Title     f.setTitle("JTable Example");     // Data to be displayed in the JTable     String[][] data = {         { "Kundan Kumar Jha", "4031", "CSE" },         { "Anand Jha", "6014", "IT" }     };     // Column Names     String[] columnNames = { "Name", "Roll Number", "Department" };    // Initializing the JTable     j = new JTable(data, columnNames);     j.setBounds(30, 40, 200, 300);     // adding it to JScrollPane     JScrollPane sp = new JScrollPane(j);     f.add(sp);     // Frame Size     f.setSize(500, 200);     // Frame Visible = true     f.setVisible(true); } 我想做的是在表格下方添加一個簡單的組件(如 JButton),但它似乎不起作用。我嘗試通過將 JButton 添加到 JPanel 并將 JPanel 添加到框架來修改代碼:   JButton button = new JButton("Back");   JPanel panel = new JPanel();   panel.add(button);   f.add(sp);   f.add(panel); 但這只是刪除整個表格并用一個按鈕替換它。我還嘗試將按鈕添加到 JPanel 并將該 JPanel 添加到 JScrollPane:   JButton button = new JButton("Back");   JPanel panel = new JPanel();   panel.add(button);   sp.add(panel);   f.add(sp);但這似乎并沒有改變什么。我還嘗試修改 JScrollPanel 的首選大小和最大大小,但無濟(jì)于事——它總是占據(jù)整個屏幕并阻止 JButton 出現(xiàn)在屏幕上。此處不考慮設(shè)計(jì),只考慮功能:讓 JButton 出現(xiàn)在我的 JTable 下方。任何建議將不勝感激。先感謝您!
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個贊

JFrame 的默認(rèn)布局管理器是BorderLayout.

f.add(sp);
f.add(panel);

當(dāng)您不指定約束時,BorderLayout假定CENTER。您只能將一個組件添加到CENTER.

相反,您的代碼應(yīng)該是:

f.add(sp, BorderLayout.CENTER);
f.add(panel, BorderLayout.PAGE_END);

請注意 a 的默認(rèn)布局管理器JPanelFlowLayout. 因此按鈕將在面板中水平居中。

此外,不使用 JPanel,而是嘗試將按鈕直接添加到PAGE_END框架中以查看差異。

閱讀 Swing 教程中有關(guān)使用布局管理器的部分,了解更多信息和示例,以了解使用每種不同布局管理器的不同之處,以了解上述建議的差異。

編輯:

有沒有辦法降低桌子的高度

如果你知道你有一張小桌子,那么你可以使用:

table.setPreferredScrollableViewportSize(table.getPreferredSize());

這將使?jié)L動窗格的大小與表格相同。

然后你使用:

//f.setSize(500, 200); f.pack();

現(xiàn)在所有組件都將以其首選大小顯示。


查看完整回答
反對 回復(fù) 2023-03-17
  • 1 回答
  • 0 關(guān)注
  • 87 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號