use of main.database.MySQLConnector in project Info-Evaluation by TechnionYP5777.
the class MainFrame method initialize.
/**
* Initialize the contents of the frame.
*/
private void initialize() {
/*
* this flag to change the name of search button
*/
startFlag = false;
frame = new JFrame();
frame.setTitle("Info Evaluation");
frame.setResizable(false);
final Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
frame.setBounds(0, 0, screen.width, screen.height - 1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
connector = new MySQLConnector();
} catch (final Exception e) {
JOptionPane.showMessageDialog(null, "problem with sql connector", "Error", JOptionPane.INFORMATION_MESSAGE);
}
frame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(WindowEvent winEvt) {
try {
clearDB();
} catch (final SQLException e) {
JOptionPane.showMessageDialog(null, "problem with removing events from Database", "Error", JOptionPane.INFORMATION_MESSAGE);
}
closeConnection();
System.exit(0);
}
});
final AnalyzeSources events = new AnalyzeSources();
events.addSource(src1);
events.addSource(src2, "2015");
MySQLConnector.addEvents(events.getData());
try {
addAllKeywords(events.getData());
} catch (SQLException ¢) {
¢.printStackTrace();
}
final JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
mnHelp = new JMenu("Help");
menuBar.add(mnHelp);
mntmAbout = new JMenuItem("About");
mnHelp.add(mntmAbout);
popupMenu = new JPopupMenu();
mnfilter = new JMenuItem("Filter by");
mnprofile = new JMenuItem("View profile");
mnprofile.setVisible(false);
popupMenu.add(mnfilter);
popupMenu.add(mnprofile);
/*
*
* initializing the table
*
*/
// {
table = new JTable();
table.setComponentPopupMenu(popupMenu);
table.setShowVerticalLines(false);
table.setCellSelectionEnabled(true);
table.setColumnSelectionAllowed(true);
table.setBorder(new LineBorder(null));
for (int count = 1; count <= 10; ++count) table.setModel(new DefaultTableModel(new Object[][] { { "Name", "Date", "Reason" } }, new String[] { "Name", "Date", "Reason" }));
table.setBounds(30, 120, screen.width / 2 + 100, screen.height / 2);
table.setVisible(false);
js = new JScrollPane(table, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
js.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
js.setVisible(false);
js.setBounds(30, 120, screen.width / 2 + 100, screen.height / 2);
frame.getContentPane().add(js);
frame.getContentPane().add(js);
/*
* initializing the table
*
*/
inputList = new RefineTable();
inputList.addField("Date");
inputList.addField("Name");
inputList.addField("Reason");
inputList.addField("Year");
btnSearch = new JButton("Load analyze results");
searchTxt = new JTextField(10);
searchTxt.setText("Select checkBox to search");
searchTxt.setColumns(10);
searchTxt.setEditable(false);
ArrayList<String> keywords = new ArrayList<String>();
for (TableTuple t : events.getData()) {
String year = t.getDate().split("/")[2];
if (!keywords.contains(year))
keywords.add(year);
if (!keywords.contains(t.getName()))
keywords.add(t.getName());
for (String s : t.getKeyWords()) for (String key : s.split(" ")) {
if (keywords.contains(key))
continue;
keywords.add(key);
}
}
AutoComplete.setupAutoComplete(searchTxt, keywords);
chckbxName = new JCheckBox("Name");
chckbxName.setVisible(false);
chckbxDate = new JCheckBox("Date");
chckbxDate.setVisible(false);
chckbxReason = new JCheckBox("Reason");
chckbxReason.setVisible(false);
chckbxSortby = new JCheckBox("Sort by");
chckbxFilterBy = new JCheckBox("Filter by");
comboBox = new JComboBox<>();
comboBox.setVisible(false);
txtpnChooseOneFrom = new JTextPane();
txtpnChooseOneFrom.setText("Choose one from:");
txtpnChooseOneFrom.setBackground(new Color(0, 0, 0, 0));
txtpnChooseOneFrom.setVisible(false);
personalInfo = new InfoExtractor();
btnLoadAnalyzeResults = new JButton("Load analyze results");
btnLoadAnalyzeResults.setVisible(false);
/*
* add image
*/
BufferedImage myPicture;
try {
myPicture = ImageIO.read(this.getClass().getResource("images/search.png"));
lblImage = new JLabel(new ImageIcon(myPicture.getScaledInstance(220, 220, Image.SCALE_DEFAULT)));
} catch (IOException ¢) {
¢.printStackTrace();
}
chckbxSearch = new JCheckBox("");
btnAddEvents = new JButton("Add Events");
final GroupLayout groupLayout = new GroupLayout(frame.getContentPane());
groupLayout.setHorizontalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addContainerGap(881, Short.MAX_VALUE).addComponent(lblImage, GroupLayout.PREFERRED_SIZE, 232, GroupLayout.PREFERRED_SIZE).addGap(247)).addGroup(groupLayout.createSequentialGroup().addGap(30).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addComponent(btnLoadAnalyzeResults).addGap(92).addComponent(btnAddEvents, GroupLayout.PREFERRED_SIZE, 145, GroupLayout.PREFERRED_SIZE)).addGroup(groupLayout.createSequentialGroup().addComponent(chckbxSearch, GroupLayout.PREFERRED_SIZE, 29, GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addComponent(searchTxt, GroupLayout.PREFERRED_SIZE, 744, GroupLayout.PREFERRED_SIZE).addGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addGroup(groupLayout.createSequentialGroup().addComponent(chckbxName).addGap(18).addComponent(chckbxDate, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addGroup(groupLayout.createSequentialGroup().addComponent(chckbxSortby).addPreferredGap(ComponentPlacement.UNRELATED).addComponent(chckbxFilterBy))).addPreferredGap(ComponentPlacement.RELATED).addComponent(chckbxReason).addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addComponent(txtpnChooseOneFrom, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))).addGap(18).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addComponent(btnSearch, GroupLayout.PREFERRED_SIZE, 224, GroupLayout.PREFERRED_SIZE).addComponent(comboBox, GroupLayout.PREFERRED_SIZE, 219, GroupLayout.PREFERRED_SIZE)))).addContainerGap(313, Short.MAX_VALUE)));
groupLayout.setVerticalGroup(groupLayout.createParallelGroup(Alignment.TRAILING).addGroup(groupLayout.createSequentialGroup().addContainerGap().addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addComponent(chckbxSearch).addGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(searchTxt, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE).addComponent(btnSearch, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(chckbxSortby).addComponent(chckbxFilterBy)).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addComponent(txtpnChooseOneFrom, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(chckbxName).addComponent(chckbxDate).addComponent(chckbxReason)).addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))).addPreferredGap(ComponentPlacement.RELATED, 177, Short.MAX_VALUE).addComponent(lblImage, GroupLayout.PREFERRED_SIZE, 193, GroupLayout.PREFERRED_SIZE).addGap(76).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(btnLoadAnalyzeResults, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE).addComponent(btnAddEvents, GroupLayout.DEFAULT_SIZE, 35, Short.MAX_VALUE)).addGap(171)));
frame.getContentPane().setLayout(groupLayout);
}
Aggregations