Sunday, January 3, 2016

Java GUI Basic 2

Example 1:
Өнөөдрийн пост бичлэгээр
netbeans ашиглан хялбархан програм хийх талаар оруулъя. Уг програм нь JFrame form ашиглан JTable
-д өгөгдөл нэмэх, засах, устгах жишээ юм.


1.       Эхлээд дараах кодыг бичъе: / DemoTable бол классын нэр юм. /
    String[] data = new String[2];
    DefaultTableModel model;
    public DemoTable() {
        initComponents();
        model = new DefaultTableModel();
        model.addColumn("Name");
        model.addColumn("Team");
    }
2.       Нэмэх товчны код:
        data[0] = JOptionPane.showInputDialog("Enter name:");
        data[1] = JOptionPane.showInputDialog("Enter team:");
        model.addRow(new Object[]{data[0], data[1]});
        jTable1.setModel(model);
3.       Засах товчны код:
       data[0] = JOptionPane.showInputDialog("Change name:");
        data[1] = JOptionPane.showInputDialog("Change team:");
        jTable1.getModel().setValueAt(data[0], jTable1.getSelectedRow(), 0);
        jTable1.getModel().setValueAt(data[1], jTable1.getSelectedRow(), 1);
4.       Устгах товчны код:
//
//
//
Одоо дараах програмыг өөр хэлбэрээр / массив ашиглан динамик шинжтэй / дахин зохиоё.
1.         Дараах хоёр хувьсагчийг гишүүн хувьсагчаар нэмлээ.
Object[][] data = null;   
String[] columnNames = new String[2];
2.       Хүснэгт үүсгэх товчны код: / instantiate table button /
 columnNames[0] = "Name";
columnNames[1] = "Team";
 data = new Object[1][2];
data[0][0] = JOptionPane.showInputDialog("Enter name:");
data[0][1] = JOptionPane.showInputDialog("Enter team:");
 jTable1.setModel(new DefaultTableModel(data, columnNames));
3.       Мөр нэмэх товчны код:
Object[][] temp = new Object[data.length+1][2];
for( int i = 0; i<data.length; i++){
            temp[i][0] = data[i][0];
            temp[i][1] = data[i][1];
        }
temp[data.length][0] = JOptionPane.showInputDialog("Enter name:");
       temp[data.length][1] = JOptionPane.showInputDialog("Enter team:");
        data = temp;
        jTable1.setModel(new DefaultTableModel(temp, columnNames));
4.       Мөр засах товчны код:

        if(jTable1.getSelectedRow()>=0){
        String name = JOptionPane.showInputDialog("Change name:");
        String team = JOptionPane.showInputDialog("Change team:");
        data[jTable1.getSelectedRow()][0] = name;
        data[jTable1.getSelectedRow()][1] = team;
        jTable1.setModel(new DefaultTableModel(data, columnNames));
        // jTable1.getModel().setValueAt(name, jTable1.getSelectedRow(), 0);
        // jTable1.getModel().setValueAt(team , jTable1.getSelectedRow(), 1);
        }
        else {
            JOptionPane.showMessageDialog(this, "You must select row!");
        }
5.       Мөр устгах:       
int pos = jTable1.getSelectedRow();
        Object[][] temp = new Object[data.length - 1][2];
        for(int i = 0; i<pos; i++)
        {
            temp[i][0] = data[i][0];
            temp[i][1] = data[i][1];
        }
        for( int i = pos+1; i<data.length; i++){
            temp[i-1][0] = data[i][0];
            temp[i-1][1] = data[i][1];
        }
        data = temp;
        jTable1.setModel(new DefaultTableModel(data, columnNames));

Example 2:

Using JMenubar:
Save Menu Click:
        JOptionPane.showMessageDialog(this, "Saved!");
        JMenuItem itm = new JMenuItem("Exit");
        itm.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(Tut30.this, "Exit!");
                System.exit(0);
            }
        });
        jMenu1.add(itm);
Using MouseClickListener:
Button -> MouseReleased
        if(evt.getButton() == MouseEvent.BUTTON1)
            JOptionPane.showMessageDialog(this, "Left Clicked!");
        else if (evt.getButton() == MouseEvent.BUTTON2)
            JOptionPane.showMessageDialog(this, "Middle Clicked!");
        else if (evt.getButton() == MouseEvent.BUTTON3)
            JOptionPane.showMessageDialog(this, "Right Clicked!");
Using JPopupMenu:
    private void jButton1MouseReleased(java.awt.event.MouseEvent evt) {                                      
        if (evt.getButton() == MouseEvent.BUTTON3)
        {       
            jPopupMenu1.removeAll();
            JMenuItem itm = new JMenuItem("Copy");
        itm.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(Tut30.this, "Copied!");
            }
        });
        jPopupMenu1.add(itm);
        jPopupMenu1.show(jButton1, evt.getX(), evt.getY());
        }
    }  



No comments:

Post a Comment