//////////////////////////////////////////////////////////////////////////////////1.0 Tabelle mit Comboboxen und Textfields die nach Änderung unterhalb///der Tabelle ausgegeben werden///////////////////////////////////////////////////////////////////////////////package testdesign9;import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.table.*;import javax.swing.event.*;public class Table extends JApplet { JTextArea txt = new JTextArea(4, 20); private static final String[] NAMES = { "JFrame","JTabbedPane","JPanel", "JTextField", "JLabel", "JRadioButton", "JCheckbox" }; JTabbedPane jTabbedPane1 = new JTabbedPane(); JPanel jPanel1 = new JPanel(); JButton jButton2 = new JButton(); JPanel jPanel2 = new JPanel(); // The TableModel controls all the data: class DataModel extends AbstractTableModel { Object[][] data = { {"JFrame", "", "three", "four"}, {"five", "six", "seven", "eight"}, {"nine", "ten", "eleven", "twelve"}, }; // Prints data when table changes: class TML implements TableModelListener { public void tableChanged(TableModelEvent e){ txt.setText(""); // Clear it for(int i = 0; i < data.length; i++) { for(int j = 0; j < data[0].length; j++) txt.append(data[i][j] + " "); txt.append("\n"); } } } public DataModel() { addTableModelListener(new TML()); } public int getColumnCount() { return data[0].length; } public int getRowCount() { return data.length; } public Object getValueAt(int row, int col) { return data[row][col]; } public void setValueAt(Object val, int row, int col) { data[row][col] = val; // Indicate the change has happened: fireTableDataChanged(); } public boolean isCellEditable(int row, int col) { return true; } } public void init() { Container cp = getContentPane(); JTable table = new JTable(new DataModel()); table.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(new JComboBox(NAMES))); table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new JTextField())); jPanel1.add(new JScrollPane(table)); cp.add(BorderLayout.SOUTH, txt); } public Table() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { jTabbedPane1.setPreferredSize(new Dimension(390, 290)); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButton2_actionPerformed(e); } }); jButton2.setText("Submit"); this.getContentPane().add(jTabbedPane1, BorderLayout.WEST); jTabbedPane1.add(jPanel1, "jPanel1"); jPanel1.add(jButton2, null); jTabbedPane1.add(jPanel2, "jPanel2"); } void jButton2_actionPerformed(ActionEvent e) { /////////////////////////////////////////////////////////////////////////// ///1.1 Anfang /////////////////////////////////////////////////////////////////////////// //was muß hier hin? /////////////////////////////////////////////////////////////////////////// ///1.1 Ende /////////////////////////////////////////////////////////////////////////// } }