package husacct.define.presentation.jdialog;
import husacct.ServiceProvider;
import husacct.common.Resource;
import husacct.common.locale.ILocaleService;
import husacct.define.domain.warningmessages.WarningMessageFactory;
import husacct.define.presentation.treetable.WarningTreeTableCellrenderer;
import husacct.define.presentation.treetable.WarningTreeTableModel;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.WindowConstants;
import org.jdesktop.swingx.JXTreeTable;
public class WarningTableJDialog extends JDialog implements ActionListener,
KeyListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private WarningMessageFactory factory = new WarningMessageFactory();
private JXTreeTable treeTab = new JXTreeTable();
private ILocaleService localeService = ServiceProvider.getInstance().getLocaleService();
public WarningTableJDialog() {
init();
}
private void init() {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
this.setSize(new Dimension(1200, 500));
getContentPane().setLayout(new BorderLayout());
getContentPane().add(createTreeTable(), BorderLayout.CENTER);
this.setTitle(localeService.getTranslatedString("Warnings"));
ServiceProvider.getInstance().getControlService().centerDialog(this);
setIconImage(new ImageIcon(Resource.get(Resource.ICON_VALIDATE)).getImage());
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setLocation( d.width / 2 - 512, d.height/2 - 384 );
}
public JTabbedPane createTreeTable()
{
JTabbedPane tabs = new JTabbedPane();
JPanel treeTablePanel = new JPanel( new BorderLayout() );
WarningTreeTableModel model = new WarningTreeTableModel(factory.getsortedMessages());
treeTab = new JXTreeTable(model);
treeTab.setTreeCellRenderer(new WarningTreeTableCellrenderer());
treeTablePanel.add( new JScrollPane( treeTab ) );
tabs.addTab( "Warnings", treeTablePanel );
return tabs;
}
@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void actionPerformed(ActionEvent e) {
}
public void refresh() {
treeTab.setTreeTableModel(new WarningTreeTableModel(factory.getsortedMessages()));
treeTab.repaint();
this.repaint();
}
}