M
Magussi
Gast
Also bezüglich Trennung von Gui und Daten. Eigentlich hab ich nur 2 simple klassen:
Code:
public class Gui3 extends JFrame {
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;
private JPanel panel4;
private JPanel panel5;
private JLabel label1;
private JLabel label2;
private JMenuBar menubar = new JMenuBar();;
private javax.swing.JTable jTable = null;
public Gui3() {
super ("Tele-Notes");
setLocation(200,250);
setSize(480, 240);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setJMenuBar(menubar);
menubar.add(createFileMenu());
menubar.add(createFileMenu2());
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
panel4 = new JPanel();
panel5 = new JPanel();
Date datum = new Date();
datum.getDate();
String zeitstring = datum.toString();
label1 = new JLabel("03:05 min");
label2 = new JLabel(zeitstring);
panel1.setLayout(new GridLayout(2,1 ));
panel1.add(panel2);
panel1.add(panel3);
panel2.setLayout(new GridLayout(2,1));
panel2.add(panel4);
panel4.setBorder(BorderFactory.createTitledBorder("Gesprächszeit"));
panel2.add(panel5);
panel5.setBorder(BorderFactory.createTitledBorder("Datum"));
panel4.add(label1);
panel5.add(label2);
TableModel model = new TableModel();
jTable = new JTable(model);
jTable.setSelectionBackground(Color.red);
jTable.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
JPopupMenu popmenu = new JPopupMenu();
JMenuItem item1 = new JMenuItem("Bearbeiten");
JMenuItem item2 = new JMenuItem("Mail");
JMenuItem item3 = new JMenuItem("Rückruf");
JMenuItem item4 = new JMenuItem("Notiz erstellen");
popmenu.add(item1);
popmenu.add(item2);
popmenu.add(item3);
popmenu.add(item4);
popmenu.show( evt.getComponent(), evt.getX(), evt.getY() );
int a = jTable.getSelectedRow() ;
System.out.println(a);
}
});
panel3.setBorder(BorderFactory.createTitledBorder("Anruf-Daten"));
panel3.add( new JScrollPane( jTable ) );
getContentPane().add(panel1);
setVisible(true);
}
private JMenu createFileMenu()
{
JMenu menu1 = new JMenu("Datei");
JMenuItem mi;
mi = new JMenuItem("Öffnen");
menu1.add(mi);
mi = new JMenuItem("Speichern");
menu1.add(mi);
mi = new JMenuItem("Beenden");
menu1.add(mi);
return menu1;
}
private JMenu createFileMenu2()
{
JMenu menu2 = new JMenu("Zeit");
JMenuItem mi;
mi = new JMenuItem("Öffnen");
menu2.add(mi);
mi = new JMenuItem("Speichern");
menu2.add(mi);
mi = new JMenuItem("Beenden");
menu2.add(mi);
return menu2;
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
}
catch (Exception e) {}
Gui3 tool = new Gui3();
}
}
Code:
import javax.swing.table.AbstractTableModel;
/**
* @author Venus
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class TableModel extends AbstractTableModel { // Klasse erweitert AbstractTableModel
protected String[] columnNames = new String[] {"Name", "Firma", "Nummer", "E-Mail"};
protected Class[] columnClasses = new Class[] {String.class, String.class, String.class, String.class};
Object [] name = {("Meier"),("Hans"),("Venus")};
Object [] firma = {("Sparkasse"),("Fiducia"),("Tolina")};
Object [] nummer = {("6542533"),("01725559863"),("01733672998")};
Object [] email = {("meier@test.de"),("hans@gmx.de"),("robertvenus@gmx.at")};
public int getColumnCount() {
return 4;
}
public int getRowCount() {
return name.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Class getColumnClass(int col) {
return columnClasses[col];
}
public Object getValueAt(int row, int col) {
switch (col) {
case 0:
return name[row];
case 1:
return firma[row];
case 2:
return nummer[row];
case 3:
return email[row];
default:
return null;
}
}
}