Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでJTableの各列幅を変更するにはどうすればよいですか?


JTable

  • JTable JComponentのサブクラスです 複雑なデータ構造を表示するため。
  • JTable Model View Controller(MVC)デザインパターンに従うことができます にデータを表示するため および
  • DefaultTableModel クラスはAbstractTableModelを拡張できます また、行と列を JTableに追加するために使用できます。 動的に。
  • DefaultTableCellRenderer クラスはJLabelを拡張できます クラスであり、画像を追加するために使用できます 、色付きのテキスト JTable内など セル
  • JTableはTableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListener、RowSorterListenerを生成できます インターフェイス。
  • デフォルトでは、JTableの幅は固定されていますが、 table.getColumnModel()。getColumn()。setPreferredWidth()を使用して各列の幅を変更することもできます。 )JTableクラスのメソッド。

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class JTableTest extends JFrame {
   private JTable table;
   private JScrollPane scrollPane;
   private DefaultTableModel model;
   private DefaultTableCellRenderer cellRenderer;
   public JTableTest() {
      setTitle("JTable Test");
      setLayout(new FlowLayout());
      scrollPane = new JScrollPane();
      JTable table = new JTable();
      scrollPane.setViewportView(table);
      model = (DefaultTableModel)table.getModel();
      model.addColumn("S.No");
      model.addColumn("First Name");
      model.addColumn("Last Name");
      model.addColumn("Email");
      model.addColumn("Contact");
      for(int i = 0;i < 4; i++) {
         model.addRow(new Object[0]);
         model.setValueAt(i+1, i, 0);
         model.setValueAt("Tutorials", i, 1);
         model.setValueAt("Point", i, 2);
         model.setValueAt("@tutorialspoint.com", i, 3);
         model.setValueAt("123456789", i, 4);
      }
      // set the column width for each column
      table.getColumnModel().getColumn(0).setPreferredWidth(5);
      table.getColumnModel().getColumn(3).setPreferredWidth(100);
      cellRenderer = new DefaultTableCellRenderer();
      cellRenderer.setHorizontalAlignment(JLabel.CENTER);
      table.getColumnModel().getColumn(0).setCellRenderer(cellRenderer);
      add(scrollPane);
      setSize(475, 250);
      setResizable(false);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new JTableTest();
   }
}
出力

JavaでJTableの各列幅を変更するにはどうすればよいですか?


  1. Python 3.3でttk.Treeviewの列の幅と重みを変更するにはどうすればよいですか?

    Tkinterアプリケーションで大量のデータを表示するには、Treeviewウィジェットを使用できます。通常、行と列のセットを含むテーブルを介してデータを表します。 Treeviewウィジェットを使用して、テーブルの形式でデータを追加できます。 Treeviewウィジェットの列幅を構成するには、幅を使用できます。 およびストレッチ 財産。 Treeviewウィジェット列の幅を指定された値に設定します。 例 この例では、プログラミング言語のリストを含むテーブルを作成しました。列「ID」と「プログラミング言語」の幅は、それらのコンテンツに設定されています。さらに、列の幅を設定する値を指定できま

  2. Excel で垂直列を水平列に変更する方法

    この記事では、Excel で縦の列を横の行に変更する方法を学習します。 . Microsoft Excel は強力なツールであり、ユーザーがさまざまなタスクを簡単に実行するのに役立ちます。ユーザーは、データを表すデータセットを作成します。データセットは行と列で構成されます。場合によっては、ユーザーは Excel で垂直列を水平列に変更する必要がある場合があります。今日は 5 のデモンストレーションを行います さまざまな方法。これらの方法を使用すると、Excel で縦の列を横の行に簡単に変更できます。それでは、これ以上遅滞なく、議論を始めましょう。 ここからワークブックをダウンロードできます