import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
public class MainFrame extends javax.swing.JFrame implements ActionListener{
private JPanel north;
private JPanel south;
private JButton complete;
private JButton add;
private JButton createnew;
public static JTable table;
public static Vector<Container> container;
public static Vector<String> columnname;
public static Vector<Vector<String>> tablecontent;
public static TableModel tablemodel;
public static Vector<Combo> combos = new Vector<Combo>();
public static Vector<String> names = new Vector<String>();
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
container = new Vector<Container>();
container.add(new Container("H2O", "20°", "1 min", "-", "-"));
names.add("R2D2");
names.add("Shure SM 58");
names.add("delirium");
names.add("blabla");
MainFrame inst = new MainFrame();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
public MainFrame() {
super();
tablecontent = new Vector<Vector<String>>();
tablemodel = new DefaultTableModel();
columnname = new Vector<String>();
initGUI();
}
public static void reload()
{
tablecontent.clear();
columnname.clear();
int z = container.size();
for(int y=0; y<z ; y++)
{
tablecontent.add(new Vector<String>());
for(int i=0; i<5 ; i++)
{
tablecontent.lastElement().add(container.elementAt(y).getName());
tablecontent.lastElement().add(container.elementAt(y).getTemp());
tablecontent.lastElement().add(container.elementAt(y).getTime());
tablecontent.lastElement().add(container.elementAt(y).getDilution());
tablecontent.lastElement().add(container.elementAt(y).getInfo());
}
}
columnname.add("name");
columnname.add("temp");
columnname.add("time");
columnname.add("dilution");
columnname.add("info");
tablemodel = new DefaultTableModel(tablecontent, columnname);
table.setModel(tablemodel);
table.getColumn("name").setCellEditor(new DefaultCellEditor(new Names(names)));
}
private void initGUI() {
try {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
{
north = new JPanel();
getContentPane().add(north, BorderLayout.CENTER);
{
table = new JTable();
north.add(table);
}
}
{
south = new JPanel();
getContentPane().add(south, BorderLayout.SOUTH);
{
createnew = new JButton();
south.add(createnew);
createnew.setText("new");
createnew.addActionListener(this);
}
{
add = new JButton();
south.add(add);
add.setText("+");
add.addActionListener(this);
}
{
complete = new JButton();
south.add(complete);
complete.setText("fertigstellen");
complete.addActionListener(this);
}
}
pack();
this.setSize(588, 342);
} catch (Exception e) {
e.printStackTrace();
}
reload();
}
@Override
public void actionPerformed(ActionEvent e)
{
if(e.getSource()== createnew)
{
int i = JOptionPane.showConfirmDialog(null,"wenn Sie neu beginnen wollen gehen die alten Informationin verlohren. Möchten Sie vortfahren?", "Warnung", JOptionPane.YES_NO_OPTION);
if(i == 0)
{
container.clear();
container.add(new Container("H2O", "20°", "1 min", "-", "-"));
reload();
}
}
if(e.getSource()== add)
{
container.add(new Container("H2O", "20°", "1 min", "-", "-"));
reload();
}
}
}