コメント |
@DIV
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
public class Main extends JFrame {
private JPanel contentPane;
private JTable table;
private JPanel panel;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
JButton btnNewButton = new JButton("New button");
btnNewButton.setBounds(10, 10, 91, 21);
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
contentPane.setLayout(null);
contentPane.add(btnNewButton);
panel = new JPanel();
panel.setBounds(10, 52, 412, 186);
panel.setLayout(new BorderLayout(0, 0));
contentPane.add(panel);
table = new JTable() {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
addColumn(table,"col1");
addColumn(table,"col2");
setColumnTitle(table,"col1","タイトル1");
setColumnTitle(table,"col2","タイトル2");
for( int i = 0; i < 20; i++) {
addRow(table);
setColumn(table,i,0,"あああ" + i);
setColumn(table,i,1,"いいい" + i);
}
JScrollPane scrollPane = new JScrollPane(table);
panel.add(scrollPane);
scrollPane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollPane.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
}
// ****************************
// 列の追加
// ****************************
private void addColumn(JTable table, String name) {
DefaultTableModel dtm = (DefaultTableModel) table.getModel();
dtm.addColumn(name);
}
// ****************************
// 列のタイトル文字列変更
// ****************************
private void setColumnTitle(JTable table, String name,String title) {
TableColumn tc1 = table.getColumn(name);
tc1.setHeaderValue(title);
tc1.setIdentifier(name);
}
// ****************************
// 空の行追加
// ****************************
private void addRow(JTable table) {
DefaultTableModel dtm = (DefaultTableModel) table.getModel();
Object[] obj = null;
dtm.addRow(obj);
}
// ****************************
// 指定カラムへデータをセット
// ****************************
private void setColumn(JTable table,int row,int col, String data) {
table.setValueAt( data, row, col );
}
}
@END |