teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

現在使っているコードを抜粋して、Sampleコードを作りました。

2016/12/24 11:22

投稿

travel_saki
travel_saki

スコア12

title CHANGED
File without changes
body CHANGED
@@ -5,4 +5,79 @@
5
5
 
6
6
  現在、このようにJCheckBoxを埋め込もうとすると、図のように「class.java.lang.Boolean」と表示されてしまいます。
7
7
  コードでは「Boolean.class」と指定してセルに値を入れています。
8
- 正常にJCheckBoxがJTableの中に表示されない理由を、分かりやすく教えてもらえませんか?
8
+ 正常にJCheckBoxがJTableの中に表示されない理由を、分かりやすく教えてもらえませんか?
9
+
10
+
11
+
12
+
13
+ ーーーーーーーーーーーーーーーーーーーーーーー追記------------------------
14
+
15
+ 情報の追加が遅くなり、申し訳ありません。
16
+ 現在使用しているコードを抜粋してSampleコードを作成したので、至らない点がありましたらお願いします。
17
+
18
+ 【コード】
19
+ package view;
20
+
21
+ import javax.swing.JFrame;
22
+ import javax.swing.JScrollPane;
23
+ import javax.swing.JTable;
24
+ import javax.swing.SwingConstants;
25
+ import javax.swing.table.DefaultTableCellRenderer;
26
+ import javax.swing.table.DefaultTableColumnModel;
27
+ import javax.swing.table.DefaultTableModel;
28
+ import javax.swing.table.TableColumn;
29
+
30
+ public class Sample extends JFrame {
31
+
32
+ private DefaultTableModel tableModel;
33
+ private JScrollPane scrollPane;
34
+ private JTable table;
35
+
36
+ String[] name = {"フラグ"};
37
+
38
+ public Sample() {
39
+ //タイトル等
40
+ setTitle("Sample");
41
+ setDefaultCloseOperation(EXIT_ON_CLOSE);
42
+ setLayout(null);
43
+
44
+ //今後、属性を複数増やすためにScrollPane実装
45
+ scrollPane = new JScrollPane();
46
+ scrollPane.setBounds(20, 170, 150, 80);
47
+ add(scrollPane);
48
+
49
+
50
+ //例として属性追加
51
+ String[] columnNames = {"フラグ"};
52
+ Object[] temp = {Boolean.class};
53
+
54
+
55
+ tableModel = new DefaultTableModel(columnNames, 0);
56
+ table = new JTable(tableModel);
57
+ table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
58
+
59
+ DefaultTableColumnModel columnModel = (DefaultTableColumnModel)table.getColumnModel();
60
+ TableColumn column0 = columnModel.getColumn(0);
61
+
62
+ DefaultTableCellRenderer alignCenter = new DefaultTableCellRenderer();
63
+ alignCenter.setHorizontalAlignment(SwingConstants.CENTER);
64
+
65
+ //セルの大きさ
66
+ column0.setPreferredWidth(150);
67
+
68
+ //行の追加
69
+ tableModel.addRow(temp);
70
+
71
+ scrollPane.setViewportView(table);
72
+
73
+ //可視化
74
+ setVisible(true);
75
+ }
76
+
77
+ public static void main(String[] args) {
78
+ //Sampleの実行
79
+ new Sample();
80
+
81
+ }
82
+
83
+ }