2016-12-11 10 views
1

私はテキストの文字を数えるためにProgrammを作ったが、今はその結果をテーブルに表示したいが、これらのセルを「操作する」方法はわからない。 私はちょうど数週間前にプログラミングを始めましたので、答えを記述してください:)。Javaeditor jTableでセルのテキストを設定するにはどうすればよいですか?

import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    import javax.swing.event.*; 
    import javax.swing.table.*; 

    public class Test extends JFrame { 

     private JTable jTable1 = new JTable(28, 2); 
     private DefaultTableModel jTable1Model (DefaultTableModel) jTable1.getModel(); 
     private JScrollPane jTable1ScrollPane = new JScrollPane(jTable1); 


     public Test() { 
     super(); 
     setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 
     int frameWidth = 696; 
     int frameHeight = 680; 
     setSize(frameWidth, frameHeight); 
     Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); 
     int x = (d.width - getSize().width)/2; 
     int y = (d.height - getSize().height)/2; 
     setLocation(x, y); 
     setTitle("Test"); 
     setResizable(true); 
     Container cp = getContentPane(); 
     cp.setLayout(null); 

     jTable1ScrollPane.setBounds(112, 136, 452, 478); 
     jTable1.getColumnModel().getColumn(0).setHeaderValue("Letter"); 
     jTable1.getColumnModel().getColumn(1).setHeaderValue("Count"); 
     cp.add(jTable1ScrollPane); 

     setVisible(true); 
     } 

     public static void main(String[] args) { 
     new Test(); 
     } 
    } 

答えて

1
private JTable jTable1 = new JTable(28, 2); 

あなたは28行2列の表を作成しました。

だから今はsetValueAt(...)メソッドを使用してデータを変更することができます。

table.setValueAt("A", 0, 0); 
table.setValueAt(5, 0, 1); 

ですから、テキストファイルを読み込み、各文字のためのあなたのカウントを取得するために、データを解析する必要があるだろうし。 Hashtableを使用して各文字/カウントを追跡することをお勧めします。その後Hashtableを繰り返してJTableを更新できます。

cp.setLayout(null); 
jTable1ScrollPane.setBounds(112, 136, 452, 478); 

コンポーネントを表示するためにヌルレイアウトと乱数を使用しないでください。 Swingはレイアウトマネージャで使用するように設計されています。

+0

ありがとうございました:) – plip1111

+0

どこですか? – plip1111