How do I make my JTable non editable import javaawt import j

How do I make my JTable non editable?

import java.awt.*;
import javax.swing.table.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.nio.*;
import java.nio.charset.Charset;
import java.nio.file.*;
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import java.util.StringTokenizer;

public class SwingDemo implements ActionListener, KeyListener
{

JLabel search, output;
JFrame viewer;
JTable table = new JTable(new DefaultTableModel(null, new Object []{\"Row ID\", \"First Name\", \"Last Name\", \"EMPLID\", \"GPA\", \"Venus Login\"}));

JFrame viewerAdd;

DefaultTableModel model = (DefaultTableModel) table.getModel();


JTextField first = new JTextField(20);
JTextField last = new JTextField(20);
JTextField emplid = new JTextField(20);
JTextField gpa = new JTextField(20);
JTextField venus = new JTextField(10);

String Venus;

public static int rowCount = 1;
public final static int LOAD = 0;
    public final static int SAVE = 1;
public SwingDemo()
{
  

  //Creates Java Frame
  viewer = new JFrame(\"Final Project\");
  viewer.setSize(570, 650);
  viewer.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  viewer.setLayout(new FlowLayout());
  viewer.setLocationRelativeTo(viewer);
  

  //Creates Drop Down Menu
  String[] option = { \"Row ID\", \"First Name\", \"Last Name\", \"EMPLID\", \"GPA\", \"Venus Login\" };
  JComboBox options = new JComboBox(option);
  options.setSelectedIndex(0);
  
  //Creates Button and Labels
  search = new JLabel(\"Search by: \");
  JButton addButton = new JButton(\"Add\");
  JButton deleteButton = new JButton(\"Delete\");
  JButton exportButton = new JButton(\"Export Data\");
  
  //Creates JTable
  JTextField textBox = new JTextField(20);
  table = new JTable(model);
  JScrollPane scrollPane = new JScrollPane(table);
  table.setFillsViewportHeight(true);
  
  //Creates Menu Bar
  JMenuBar menuBar = new JMenuBar();
  JMenu fileMenu = new JMenu(\"File\");
  JMenu helpMenu = new JMenu(\"Help\");
  menuBar.add(fileMenu);
  menuBar.add(helpMenu);
  JMenuItem openAction = new JMenuItem(\"Open\");
  JMenuItem exitAction = new JMenuItem(\"Exit\");
  JMenuItem exportAction = new JMenuItem(\"Export\");
  JMenuItem aboutAction = new JMenuItem(\"About\");
  fileMenu.add(openAction);
  fileMenu.add(exportAction);
  fileMenu.add(exitAction);
  helpMenu.add(aboutAction);
     //fileChooser.setDialogTitle(\"Choose a file\");
    
     //ActionListener
     openAction.addActionListener(this);
     exitAction.addActionListener(this);
     aboutAction.addActionListener(this);
     addButton.addActionListener(this);
     //Action Events
    
    
  //Adds Elements to Java Frame
     viewer.setJMenuBar(menuBar);
  viewer.add(search);
  viewer.add(options);
  viewer.add(textBox);
  viewer.add(addButton);
  viewer.add(deleteButton);
  viewer.add(scrollPane);
  viewer.add(exportButton);
  viewer.setVisible(true);
}
public void addUser()
{
  JButton OK = new JButton(\"OK\");
  JButton CANCEL = new JButton(\"CANCEL\");
  //JTextField
  
  
  //Strings

  
  JLabel firstName = new JLabel(\"First Name\");
  JLabel lastName = new JLabel(\"Last Name\");
  JLabel EMPLID = new JLabel(\"EMPLID\");
  JLabel GPA = new JLabel(\"GPA\");
  JLabel venusLogin = new JLabel(\"Venus Login\");
  
  //ActionListener
  first.addActionListener(this);
  last.addActionListener(this);
  emplid.addActionListener(this);
  gpa.addActionListener(this);
  first.addKeyListener(this);
  last.addKeyListener(this);
  emplid.addKeyListener(this);
  
  viewerAdd = new JFrame(\"Add User\");
  viewerAdd.setSize(300, 200);
  viewerAdd.setDefaultCloseOperation(viewerAdd.HIDE_ON_CLOSE);
  viewerAdd.setLayout(new GridLayout(6,2));
  viewerAdd.setLocationRelativeTo(viewerAdd);
  viewerAdd.add(firstName);
  viewerAdd.add(first);
  viewerAdd.add(lastName);
  viewerAdd.add(last);
  viewerAdd.add(EMPLID);
  viewerAdd.add(emplid);
  viewerAdd.add(GPA);
  viewerAdd.add(gpa);
  viewerAdd.add(venusLogin);
  viewerAdd.add(venus);
  viewerAdd.add(OK);
  viewerAdd.add(CANCEL);
  OK.addActionListener(this);
     CANCEL.addActionListener(this);
     venus.setEditable(false);
  viewerAdd.setVisible(true);
  
  
}



@Override
public void actionPerformed(ActionEvent e) throws NumberFormatException
{
  switch(e.getActionCommand())
  {
   case \"Exit\":
    System.exit(0);
   break;
   
   case \"Open\":
    

    FileDialog fileChooser = new FileDialog(viewerAdd,\"Select file\",FileDialog.LOAD);
    fileChooser.setVisible(true);
    JFileChooser a = new JFileChooser(fileChooser.getFile());
    
    File[] file;
    file = fileChooser.getFiles();
    if(fileChooser.getFile() != null)
     {
      try
       {
           BufferedReader br = new BufferedReader(new FileReader(file[0]));
        String line;
        while ((line = br.readLine()) != null)
         {
          StringTokenizer st = new StringTokenizer(line, \",\" +\" \");
              String f = st.nextToken();
              String l = st.nextToken();
              String em = st.nextToken();
              String g = st.nextToken();
              String v = st.nextToken();
              model.addRow(new Object[]{rowCount++,f, l, em, g, v});
            }

       }
      catch (FileNotFoundException ex)
       {
        System.out.println(\"o\");
       }
      catch (IOException e1)
       {
        JOptionPane.showMessageDialog(fileChooser, \"There was an IO Exception that was caught. Error: \"+ e1.getMessage(), null, JOptionPane.ERROR_MESSAGE);
        e1.printStackTrace();
       }
     }
    else
     {
      JOptionPane.showMessageDialog(null, \"File Not Selected\", null, JOptionPane.ERROR_MESSAGE);
     }
   break;
   
   case \"About\":
    JOptionPane.showMessageDialog(viewer, \"This is an App made by \");
   break;
   
   case \"Add\":
    addUser();
    break;
    
   case \"OK\":
    int userAction1 = JOptionPane.showConfirmDialog(null, \"Are You Sure You Want To Insert this Record?\");
    int number;
    double number1;
    boolean emp, ga = false;
    if(userAction1 == JOptionPane.YES_OPTION)
    {
     String firstName = first.getText();
     String lastName = last.getText();
     String Emplid = emplid.getText();
     String Gpa = gpa.getText();
    
     if (firstName.length() < 2)
      JOptionPane.showMessageDialog(null, \"First Name must contain at least 2 characters\", null, JOptionPane.ERROR_MESSAGE);
     else if (lastName.length() < 2)
      JOptionPane.showMessageDialog(null, \"Last Name must contain at least 2 characters\", null, JOptionPane.ERROR_MESSAGE);
     else if (Emplid.length()!=8)
      JOptionPane.showMessageDialog(null, \"EMPLID must contain 8 numbers\", null, JOptionPane.ERROR_MESSAGE);   
      try
      {
       number = Integer.parseInt(Emplid);
       try
       {
        number1 = Double.parseDouble(Gpa);
        if(number1 < 0 || number1 > 4)
         JOptionPane.showMessageDialog(null, \"GPA must be between 0.0 - 4.0\", null, JOptionPane.ERROR_MESSAGE);
        else
         ga = true;      
       }
       catch (Exception s)
       {
        JOptionPane.showMessageDialog(null, \"GPA must be between 0.0 - 4.0\", null, JOptionPane.ERROR_MESSAGE);
       }
       
      }
      catch (Exception s)
      {
       JOptionPane.showMessageDialog(null, \"EMPLID must contain 8 numbers only\", null, JOptionPane.ERROR_MESSAGE);
      }

    
     
     if (ga == true)
     {
      model.addRow(new Object[]{rowCount++,firstName, lastName, Emplid, Gpa, Venus});
          
      viewerAdd.setVisible(false);
      first = new JTextField(20);
      last = new JTextField(20);
      emplid = new JTextField(20);
      gpa = new JTextField(20);
      venus = new JTextField(10);
     }
    }
    break;
    
   case \"CANCEL\":
    viewerAdd.setVisible(false);
   break;
  }
  
}
@Override
public void keyTyped(KeyEvent e)
{
  try
  {
   venus.setText(last.getText().substring(0,2)+first.getText().substring(0,2)+emplid.getText().substring(4,8));
   
  }
  catch(Exception s)
  {
   
  }
  Venus = venus.getText();
}
@Override
public void keyPressed(KeyEvent e)
{
  try
  {
   venus.setText(last.getText().substring(0,2)+first.getText().substring(0,2)+emplid.getText().substring(4,8));
   
  }
  catch(Exception s)
  {
   
  }
  Venus = venus.getText();


}
@Override
public void keyReleased(KeyEvent e)
{
  try
  {
   venus.setText(last.getText().substring(0,2)+first.getText().substring(0,2)+emplid.getText().substring(4,8));
   
  }
  catch(Exception s)
  {
   
  }
  Venus = venus.getText();

}


}

Solution

step 1:Go to the Navigation Pane, expand JScrollPane option

step 2:In JSCROLLPne, right-click on JTable and Select Customize Code as shown below:

step 3:On the code customizer option, choose custom property in the second drop down

step 4: Insert the code written below ,before the last bracket);code is given below

step5:{public boolean isCellEditable(int row, int column){return false;}}

How do I make my JTable non editable? import java.awt.*; import javax.swing.table.*; import javax.swing.table.AbstractTableModel; import javax.swing.table.Defau
How do I make my JTable non editable? import java.awt.*; import javax.swing.table.*; import javax.swing.table.AbstractTableModel; import javax.swing.table.Defau
How do I make my JTable non editable? import java.awt.*; import javax.swing.table.*; import javax.swing.table.AbstractTableModel; import javax.swing.table.Defau
How do I make my JTable non editable? import java.awt.*; import javax.swing.table.*; import javax.swing.table.AbstractTableModel; import javax.swing.table.Defau
How do I make my JTable non editable? import java.awt.*; import javax.swing.table.*; import javax.swing.table.AbstractTableModel; import javax.swing.table.Defau
How do I make my JTable non editable? import java.awt.*; import javax.swing.table.*; import javax.swing.table.AbstractTableModel; import javax.swing.table.Defau

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site