Шустрый

Профиль
Группа: Участник
Сообщений: 147
Регистрация: 16.12.2005
Репутация: нет Всего: нет
|
Есть код: | Код | public Object[][] data = { { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" }, { "" } }; public Object[] columnnames = { "DT_PREKR_L", "T_PREKR_L", "SH_PREKR_L", "DLG_PREKR_L", "DT_PREKR", "T_PREKR", "SH_PREKR", "DLG_PREKR", "DT_PREKR_R", "T_PREKR_R", "SH_PREKR_R", "DLG_PREKR_R", "DT", "T", "WR", "DWRD" }; public DefaultTableModel myTM = new DefaultTableModel(data, columnnames); private JPanel getJPanel1() { if (jPanel1 == null) { jPanel1 = new JPanel(); jPanel1.setLayout(null); jPanel1.setBounds(2, 2, 896, 336); jPanel1.setBorder(BorderFactory .createEtchedBorder(EtchedBorder.LOWERED)); jPanel1.setVisible(false); jPanel1.add(getJTextField1(), null); jPanel1.add(getJTextField2(), null); jPanel1.add(getJTextField3(), null); jPanel1.add(getJTextField4(), null); jPanel1.add(getJTextField5(), null); jPanel1.add(getJTextField6(), null); jPanel1.add(getJLabel2(), null); jPanel1.add(getJLabel3(), null); jPanel1.add(getJLabel4(), null); jPanel1.add(getJLabel5(), null); jPanel1.add(getJLabel6(), null); jPanel1.add(getJLabel7(), null); jPanel1.add(getJScrollPane(), null); } return jPanel1; } private JScrollPane getJScrollPane() { if (jScrollPane == null) { jScrollPane = new JScrollPane(); jScrollPane.setBounds(new Rectangle(16, 211, 861, 126)); jScrollPane.setViewportView(getJTable()); jScrollPane .setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); jScrollPane .setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); } return jScrollPane; } private JTable getJTable() { if (jTable == null) { TableColumnModel jthcm; TableColumn jthc0, jthc1, jthc2, jthc3, jthc4, jthc5, jthc6, jthc7, jthc8, jthc9, jthc10, jthc11, jthc12, jthc13, jthc14, jthc15; jTable = new JTable(myTM); jTable.setBounds(0, 0, 1120, 16); jTable.setSize(1120, 16); jTable.setPreferredSize(new Dimension(1120, 16)); jTableHeader = jTable.getTableHeader(); jTableHeader.setBounds(0, 0, 1120, 16); jTableHeader.setSize(1120, 16); jTableHeader.setPreferredSize(new Dimension(1120, 16)); jthcm = jTableHeader.getColumnModel(); jthc0 = jthcm.getColumn(0); //jthc0.setHeaderValue("DT_PREKR_L"); jthc1 = jthcm.getColumn(1); //jthc1.setHeaderValue("T_PREKR_L"); jthc2 = jthcm.getColumn(2); //jthc2.setHeaderValue("SH_PREKR_L"); jthc3 = jthcm.getColumn(3); //jthc3.setHeaderValue("DLG_PREKR_L"); jthc4 = jthcm.getColumn(4); //jthc4.setHeaderValue("DT_PREKR"); jthc5 = jthcm.getColumn(5); //jthc5.setHeaderValue("T_PREKR"); jthc6 = jthcm.getColumn(6); //jthc6.setHeaderValue("SH_PREKR"); jthc7 = jthcm.getColumn(7); //jthc7.setHeaderValue("DLG_PREKR"); jthc8 = jthcm.getColumn(8); //jthc8.setHeaderValue("DT_PREKR_R"); jthc9 = jthcm.getColumn(9); //jthc9.setHeaderValue("T_PREKR_R"); jthc10 = jthcm.getColumn(10); //jthc10.setHeaderValue("SH_PREKR_R"); jthc11 = jthcm.getColumn(11); //jthc11.setHeaderValue("DLG_PREKR_R"); jthc12 = jthcm.getColumn(12); //jthc12.setHeaderValue("DT"); jthc13 = jthcm.getColumn(13); //jthc13.setHeaderValue("T"); jthc14 = jthcm.getColumn(14); //jthc14.setHeaderValue("WR"); jthc15 = jthcm.getColumn(15); //jthc15.setHeaderValue("DWRD"); jTableHeader.setVisible(true); jTable.setTableHeader(jTableHeader); } return jTable; }
|
Как видно из этого кода, на панель jPanel1 посажен jScrollPane, а внутри jScrollPane помещена jTable. У jTable есть заголовок jTableHeader. Причём ширина jTable--больше, чем ширина jScrollPane. Скроллирование по вертикали нормально работает. Но что касается скроллирования по горизонтали, то его нет--все 16 столбцов таблицы отображаются внутри скроллпейна сразу. Я же хочу, чтобы внутри скроллпейна отображалось только 12 столбцов, а для просмотра остальных 4 столбцов нужно было производить скроллирование по горизонтали. Как это сделать? Может быть, использовать TableColumnModel и TableColumn и задать для столбцов (тип TableColumn) значение PreferredSize равное, например, 70 ? Или же мне как-то следует поработать с jScrollPaneLayout?
|