package gui;
import gui.create.NoWalletFrame;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.RowFilter;
import javax.swing.UIManager;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
import controller.Controller;
public class Gui extends JFrame{
private static final long serialVersionUID = 1L;
public Gui() throws Exception
{
//USE SYSTEM STYLE
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
UIManager.put("RadioButton.focus", new Color(0, 0, 0, 0));
UIManager.put("Button.focus", new Color(0, 0, 0, 0));
UIManager.put("TabbedPane.focus", new Color(0, 0, 0, 0));
UIManager.put("ComboBox.focus", new Color(0, 0, 0, 0));
//CHECK IF WALLET EXISTS
if(!Controller.getInstance().doesWalletExists())
{
//OPEN WALLET CREATION SCREEN
new NoWalletFrame(this);
}
else
{
new MainFrame();
}
}
public void onWalletCreated()
{
new MainFrame();
}
public void onCancelCreateWallet()
{
Controller.getInstance().stopAll();
System.exit(0);
}
public static <T extends TableModel> JTable createSortableTable(T tableModel, int defaultSort)
{
//CREATE TABLE
JTable table = new JTable(tableModel);
//CREATE SORTER
TableRowSorter<T> rowSorter = new TableRowSorter<T>(tableModel);
//drowSorter.setSortsOnUpdates(true);
//DEFAULT SORT DESCENDING
rowSorter.toggleSortOrder(defaultSort);
rowSorter.toggleSortOrder(defaultSort);
//ADD TO TABLE
table.setRowSorter(rowSorter);
//RETURN
return table;
}
public static <T extends TableModel> JTable createSortableTable(T tableModel, int defaultSort, RowFilter<T, Object> rowFilter)
{
//CREATE TABLE
JTable table = new JTable(tableModel);
//CREATE SORTER
TableRowSorter<T> rowSorter = new TableRowSorter<T>(tableModel);
//rowSorter.setSortsOnUpdates(true);
rowSorter.setRowFilter(rowFilter);
//DEFAULT SORT DESCENDING
rowSorter.toggleSortOrder(defaultSort);
rowSorter.toggleSortOrder(defaultSort);
//ADD TO TABLE
table.setRowSorter(rowSorter);
//RETURN
return table;
}
}