- package hu.wowemuf.TestPrograms;
- /**
- *
- * @author Szilárd
- */
- import java.sql.*;
- import java.awt.*;
- import javax.swing.*;
- import javax.swing.table.DefaultTableModel;
- public class MultipleRowDisplayer {
- protected String connectionURL;
- protected Connection connection;
- protected Statement statement;
- protected ResultSet rs;
- protected String charName;
- protected String charRace;
- protected String charClass;
- @SuppressWarnings("CallToThreadDumpStack")
- public static void main(String[] args){
- try{
- new MultipleRowDisplayer().connectToServer();
- } catch(Exception ex){
- ex.printStackTrace();
- }
- }
- @SuppressWarnings("FinalizeDeclaration")
- protected void finalize() throws Throwable{
- if(rs != null){
- rs.close();
- if(statement != null){
- statement.close();
- if(connection != null){
- connection.close();
- }
- }
- }
- super.finalize();
- }
- /**
- * @param accID - Ez ugyis csak teszt szintjen megy egyelore, a beepitett rendszerbe mashogy ultetem at.
- * @throws Exception
- */
- private void userInterface(int accID) throws Exception{
- JFrame frame = new JFrame("JTableManager @ TESTPHASE");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setSize(800,600);
- Object[] colNames = {"Név","Faj","Kaszt"};
- JPanel mainPanel = new JPanel();
- mainPanel.setLayout(new GridLayout(1,1));
- DefaultTableModel dtm = new DefaultTableModel(new Object[][]{},colNames);
- JTable mainTable = new JTable(dtm);
- mainTable.setOpaque(true);
- mainTable.setBackground(new Color(0,0,0,0));
- mainTable.getTableHeader().setEnabled(false);
- mainTable.setEnabled(false);
- String QueryThread = "SELECT `name`,`race`,`class` FROM `characters` WHERE `account`="+accID+"";
- rs = statement.executeQuery(QueryThread);
- while(rs.next()){
- charName = rs.getString("name");
- charRace = rs.getString("race");
- charClass = rs.getString("class");
- dtm.addRow(new Object[]{charName,charRace,charClass}); // Ez vegzi el a piszkos munkat.
- }
- JScrollPane tableScroller = new JScrollPane(mainTable);
- tableScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
- tableScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
- mainTable.setFillsViewportHeight(true);
- mainPanel.add(tableScroller); // Kicsit becsomagolva kapjuk majd meg.
- frame.getContentPane().add(BorderLayout.CENTER,mainPanel);
- frame.setLocation(400,200);
- frame.setVisible(true);
- }
- private void connectToServer() throws Exception{
- connectionURL = "jdbc:mysql://localhost:3306/characters";
- connection = null;
- statement = null;
- rs = null;
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- connection = DriverManager.getConnection(connectionURL,"root","root");
- statement = connection.createStatement();
- if(connection != null){
- System.out.println("Connection established.");
- this.userInterface(5); // Az UI felepitese a megfelelo modon, kicsit fapados megoldassal.
- } else{
- System.err.println("Error while connecting.");
- }
- }
- }