Hallo zusammen,
Ich möchte in einem Java-Applet einen Jdialog einblenden der einen dynamischen Jtable beinhaltet.
Der Jtable soll seine dynamischen Daten von einem Array aus einem Menuevent erhalten.
Leider schaffe ich es nicht die JTable im Dialog entsprechend zu updaten...
Der JDialog wird nur beim laden des applets initialisiert und dann passiert nix mehr..
Die Daten aus dem Array sind im Dialog vorhanden aber nicht im Jtable anzeigbar.
Mit dem DefaultTableModel komm ich irgendwie nicht weiter ...
Kann mir jemand eine Hilfestellung geben wie ich das bewerkstelligen muss ?
Danke !
Gruß
Axel
hier der Code :
Ich möchte in einem Java-Applet einen Jdialog einblenden der einen dynamischen Jtable beinhaltet.
Der Jtable soll seine dynamischen Daten von einem Array aus einem Menuevent erhalten.
Leider schaffe ich es nicht die JTable im Dialog entsprechend zu updaten...
Der JDialog wird nur beim laden des applets initialisiert und dann passiert nix mehr..
Die Daten aus dem Array sind im Dialog vorhanden aber nicht im Jtable anzeigbar.
Mit dem DefaultTableModel komm ich irgendwie nicht weiter ...
Kann mir jemand eine Hilfestellung geben wie ich das bewerkstelligen muss ?
Danke !
Gruß
Axel
hier der Code :
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.table.*;
import java.awt.Graphics;
import javax.swing.border.*;
import javax.swing.event.*;
import javax.swing.table.TableModel;
import java.awt.image.*;
import java.io.*;
import java.util.*;
public class test extends JApplet {
JFrame fFrame;
JMenuItem fMenuExtras;
JMenu submenu;
JMenuItem menuItem1,menuItem2,menuItem3;
String[][] list;//=new String[2][6];
String[] columnNames;
JDialog view = new tableview(new JFrame(), "view", true);
public void init ()
{
JMenuBar mb = new JMenuBar ();
JMenu x = new JMenu ("Menu");
mb.add (x);
submenu = new JMenu("submenu");
menuItem3 = new JMenuItem("table");
submenu.add(menuItem3);
menuItem3.addActionListener (new eventhandler());
x.add(submenu);
setJMenuBar (mb);
} // init
class eventhandler implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
String command = e.getActionCommand ();
if (command.equals ("table"))
{
String[] columnNames = { "col1", "col2", "col3","col4" , "col5" ,"col6" };
System.out.println("table");
String[][] list= { {"1","test","1","1","1","3"},{"2","test2","2","2","2","6"} };
view.setVisible(true);
}
} // actionPerformed
}// class eventhandler
public class TabModel extends DefaultTableModel{
TabModel(Object[][]list, Object[] colnames){
super(list, colnames);
}
}// class Tabmodel
public class tableview extends JDialog implements ActionListener
{
JButton OKButton;
tableview(JFrame hostframe, String Titel, boolean dModal)
{
super(hostframe, Titel, dModal);
Dimension screenSize = getToolkit ().getScreenSize ();
setLocation (screenSize.width/2-100,screenSize.height/2-200);
java.util.Calendar today = new java.util.GregorianCalendar();
int day = today.get(Calendar.DATE);
int month = today.get(Calendar.MONTH)+1;
int year = today.get(Calendar.YEAR);
System.out.println("test");
DefaultTableModel TabModel = new DefaultTableModel();
JTable medtable = new JTable(TabModel);
System.out.println("Date="+day+"."+month+"."+year);
medtable.setDefaultRenderer(Object.class, new DefaultTableCellRenderer()
{
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column)
{
Component c = super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
int x = row % 2;
if(x == 0 )
{
setBackground(Color.white);
setFont(new java.awt.Font("Arial", Font.BOLD, 12));
}
else
{
setBackground(Color.lightGray);
setFont(new java.awt.Font("Arial", Font.BOLD, 12));
}
setHorizontalAlignment (JLabel.CENTER);
Color Farbe6 = new Color(254, 242, 229);
Color Farbe7 = new Color(102, 0, 102);
return this;
}
});
JTextField dialogtext= new JTextField("tableview from "+ day +"."+ month +"."+ year);
dialogtext.setEditable(false);
GridBagLayout gbl = new GridBagLayout();
this.setLayout(gbl);
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.ipady = 10;
c.weightx = 0;
c.weighty = .1;
c.fill = GridBagConstraints.BOTH;
add(dialogtext,c);
c.gridx = 0;
c.gridy = 1;
c.ipady = 10;
c.weightx = 0;
c.weighty = 0.7;
c.fill = GridBagConstraints.BOTH;
add( new JScrollPane( medtable ),c );
JButton OKButton = new JButton("Back");
OKButton.setSize(20,30);
c.gridx = 0;
c.gridy = 2;
c.ipady = 10;
c.weightx = 0.5;
c.weighty = 0.1;
add(OKButton,c);
OKButton.addActionListener(this);
pack();
}
public void actionPerformed(ActionEvent e)
{
view.setVisible(false);
}
}
}// class testApplet