我在swing應用程序中工作,我使用jTable
和jScrollpane
現在我的問題是我在一個滾動窗格中添加了多個表格,並且其他表格區域的滾動工作正常,但它光標在表格區域時不起作用。jscrollpane不能在swing應用程序jtable中工作
兩個表格之間的空間滾動工作正常,但在表區域它不起作用。 任何人有任何關於我的問題的想法?所以請給我提前回答非常快... 感謝...
我在swing應用程序中工作,我使用jTable
和jScrollpane
現在我的問題是我在一個滾動窗格中添加了多個表格,並且其他表格區域的滾動工作正常,但它光標在表格區域時不起作用。jscrollpane不能在swing應用程序jtable中工作
兩個表格之間的空間滾動工作正常,但在表區域它不起作用。 任何人有任何關於我的問題的想法?所以請給我提前回答非常快... 感謝...
我在一個面板中添加了多個表格而不使用滾動條,然後將面板添加到滾動條上。這樣我的問題就解決了。
因爲沒有添加高級別組件(滾動窗格),您需要添加的滾動窗格標題不會添加到表格中。
可以使用下給予格式,添加標題,而無需使用滾動面板
//initializes the table
JTable table=new JTable(rowData, columnNames);
//add table header to any component(panel)
component.add(table.getTableHeader());
//add table to any component(panel)
component.add(tableRelatedProducts);
有得多複雜的代碼,所以我在這裏不顯示 ... EUH,包含在滾動窗格多個表的面板。複雜的部分在哪裏?請參閱下面的SSCCE,其確實如此。
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
import java.awt.BorderLayout;
import java.awt.EventQueue;
public class TableTest {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame testFrame = new JFrame("Test");
JPanel contentPane = new JPanel(new BorderLayout());
JPanel tablePanel = new JPanel();
tablePanel.setLayout(new BoxLayout(tablePanel, BoxLayout.PAGE_AXIS));
addTableToPanel(tablePanel);
addTableToPanel(tablePanel);
JScrollPane scrollPane = new JScrollPane(tablePanel);
contentPane.add(scrollPane);
testFrame.setContentPane(contentPane);
testFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
testFrame.pack();
testFrame.setVisible(true);
}
});
}
private static void addTableToPanel(JPanel aTablePanel) {
JTable table = createTable();
aTablePanel.add(table.getTableHeader());
aTablePanel.add(table);
}
private static JTable createTable(){
return new JTable(new DefaultTableModel(new Object[][]{new Object[]{"Data1-1", "Data1-2"}, new Object[]{"Data2-1", "Data2-2"}},
new Object[]{"Column1", "Column2"}));
}
}
請注意,當光標位於表格上方時,我沒有滾動問題。所以我們需要更多信息,然後在您的問題中提供。
也許,如果你創建一個SSCCE(或調整這個)可以重現你的問題,你會發現有問題的一段代碼。
更正你的句子用於獲取答案,你的問題是不是在這個問題完全清楚... – Luna 2012-08-13 06:31:55
你不能添加多個組件到一個scrollPane(又名:它的主視口) - 所以你對「工作」的描述不可能真的如此。考慮顯示一些示例代碼(最好:一個SSCCE)來演示你期待什麼與體驗 – kleopatra 2012-08-13 07:08:52