Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाबेस का उपयोग करके jcomponents बनाएं

सबसे पहले यह देखें @AndrewThompson की बुद्धिमानी भरी सलाह:

यहां इसका अर्थ समझने के लिए कुछ उपयोगी विषय हैं:

आप setLocation() . जैसी विधियों का उपयोग देखेंगे , setBounds() या setSize() अत्यधिक हतोत्साहित किया जाता है। हालांकि मैंने रूपों को अनुकूलित करने की अनुमति देने के लिए आवेदन करने से पहले इस दृष्टिकोण को देखा है। लेकिन विशिष्ट (x, y) निर्देशांक और निश्चित (चौड़ाई, ऊंचाई) के बजाय आप ग्रिडबैगलेआउट . मान लें कि आपके पास इस तरह की एक टेबल है:

मैं डीबी से डेटा लपेटने के लिए कक्षा के साथ सबसे पहले शुरू करूंगा:

public class Data {
    private String componentType, text;
    private int column, row, width, height, weightX, weightY;

    public Data(String componentType, int column, int row, int width, int height
                ,int weightX, int weightY, String text) {

        this.componentType = componentType;
        this.column = column;
        this.row = row;
        this.width = width;
        this.height = height;
        this.weightX = weightX;
        this.weightY = weightY;
        this.text = text;
   }

   // getters and setters here
}

चूंकि डेटाबेस कॉल में समय लगता है, इसलिए आपको SwingWorker<का उपयोग करने पर विचार करना होगा। /ए> बैकग्राउंड थ्रेड में डेटाबेस कॉल (समय लेने वाला कार्य) करने के लिए और ईवेंट डिस्पैच थ्रेड

ऐसा कहने के बाद आपके पास कुछ ऐसा हो सकता है:

public class Demo {

    private JPanel content;
    private JFrame frame;

    private void createAndShowGUI() {        
        content = new JPanel(new GridBagLayout());

        SwingWorker<Void, Data> worker = new SwingWorker<Void, Data>() {
            @Override
            protected Void doInBackground() {                    
                try{
                   Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db","root","password");
                   Statement stat = con.createStatement();
                   ResultSet rs = stat.executeQuery("select * from TableName");
                   while(rs.next()){
                      String componentType = rs.getString("component");
                      int column = rs.getInt("x");
                      int row = rs.getInt("y");
                      int width = rs.getInt("width");
                      int height = rs.getInt("height");
                      int weightx = rs.getInt("weightx");
                      int weighty = rs.getInt("weighty");
                      String text = rs.getString("text");
                      Data data = new Data(componentType, column, row, width, height
                                          ,weightx, weighty, text);
                      publish(data);
                  }
                  rs.close();
                  stat.close();
                  con.close();
              } catch(Exception e) {
                  System.out.println(e);
              }

                return null;
            }

            @Override
            protected void process(List<Data> chunks) {
                for(Data data : chunks) {

                    JComponent component = null;
                    if(data.getComponentType().equalsIgnoreCase("JTextField")) {
                        component = new JTextField(data.getText());
                    }

                    if(data.getComponentType().equalsIgnoreCase("JComboBox")) {
                        component = new JComboBox();
                    }

                    if(data.getComponentType().equalsIgnoreCase("JLabel")) {
                        component = new JLabel(data.getText());
                    }

                    if(component != null) {
                        GridBagConstraints constraints = new GridBagConstraints();
                        constraints.gridx = data.getColumn();
                        constraints.gridy = data.getRow();
                        constraints.gridwidth = data.getWidth();
                        constraints.gridheight = data.getHeight();
                        constraints.weightx = data.getWeightX();
                        constraints.weighty = data.getWeightY();

                        constraints.anchor = GridBagConstraints.WEST;
                        constraints.fill = GridBagConstraints.BOTH;
                        constraints.insets = new Insets(8,8,8,8);
                        content.add(component, constraints);
                    }

                }
            }

            @Override
            protected void done() {
                frame = new JFrame("Demo");
                frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                frame.getContentPane().add(content);
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        };

        worker.execute();
    }


    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Demo().createAndShowGUI();
            }
        });
    }
}

और आपको कुछ इस तरह दिखाई देगा:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या COUNT रिकॉर्ड को खींचने और कोड में गिनने की तुलना में तेज़ है?

  2. MySQL:SELECT MAX_JOIN_SIZE से अधिक पंक्तियों की जांच करेगा

  3. लाने पर Mysql PDO अधिकतम LONGBLOB डेटा लंबाई

  4. PHP स्क्रिप्ट को निर्धारित समय पर कैसे चलाएं

  5. php mysql सम्मिलित करें (अधिकतम (आईडी) +1)