How to validate JTable row

Hi Swing gurus,
I am working on JTable and need to validate table row.
Currently nth row is selected and I want to move on n-1th row but before making selection on n-1th row, I want to validate the nth row.
I have valueChanged method but that is fired when I do select n-1th row, instead of that I want to validate before selecting n-1th row.
please do share your thoughts on how I do validate row without moving to other row,
Thanks,

What does "validate" mean in this context?
- Do you want to validate the user's input while he is editing a cell?
- Or do you mean the user reads the row's contents and press some "validate" button?
If the latter, I seem to understand that you want to limit selection to only "the next non-validated row". In this case write a custom ListSelectionModel ; you can extend DefaultListSelectionModel, set it to SINGLE_SELECTION mode, and override addSelectionIntervall() and setSelectionIntervall() ; in those latter methods, just ignore (do not notify listeners) selection change if the rowIndex in argument must not be selectable.

Similar Messages

  • How to bind JTable row height to the maximum height of a the columns

    Suppose i have a JTable. data setup is done. Thing is whenever data font size increases table row height should change. How?

    Add a PropertyChangeListener to the table to listen for a font change event. Then use the setRowHeight() method of the table.

  • How to set JTable row background color

    Hello,
    I have seen JTable with rows having alternate background color (mostly white and light blue). How can i set the same.
    Thanks,
    Deepak

    Well, i am new user to forum and so have no idea if this question has been asked previously "countless" times.Which is why you "search first" and "ask later". How to you expect to find out what valuable information is in the forum without learning how to do a simple search. This goes for any forum on the web you might use, so don't use the "I'm a new user" excuse.

  • How to validate multiple rows in entity level?

    Hi all..
    I'm new in jdeveloper. I need your help.
    I want to validate data in entity level. In business rules, for the entity validator, I use the unique key rule type.
    So when I try to insert a data using the existing primary key, error message will be shown.
    What can i do in entity validator, if the case like this :
    In database : Id | Desc
    1 | one
    2 | two
    then i want to insert 2 rows data:
    Id |Desc
    3 | three
    3 | three
    hope your help..
    thanks..

    did you set the Primay Key check box for this attribute?
    <Attribute
        Name="Id"
        IsNotNull="true"
        PrimaryKey="true">
       ............................

  • How to get multiple rows at one time in a table?

    hi
    I have a JTable bound with ViewObject and i use multiple selection mode setting to get selection row.
    My question is when i select more then one row at one time i only can get those index from JTable but can't get those rows from ViewObject.is it possible to get rows from ViewObject? or how to use JTable row index to get row from ViewObject?

    repost

  • How to select a row in Jtable at runtime

    how to select a row in Jtable at runtime.

    use
    setRowSelectionInterval(int fromRowIndex, int toRowIndex);example if your table has 10 rows then u want to select the rows from 4 to 8 then use
    setRowSelectionInterval(3, 7);if you want to select just one row for example 5 then use
    setRowSelectionInterval(5, 5);

  • How to remove a row from JTable

    Hi!
    I'm used to remove rows from JTables getting the model and doing a removeRow(num) like this:
    ((DefaultTableModel)jTable1.getModel()).removeRow(0);
    But with ADF and JDeveloper the model says it's a JUTableBinding.JUTableModel but its not accessible.
    How to remove a row in Jdeveloper 10.1.3.4.0?

    Or maybe is just better to refresh data in the jTable but I do not know either like doing it.

  • How to set special rows in jtable not selectable

    Hello programmers,
    anybody knows how to set special rows(p.E. row 0) in jtable not selectable.
    in advance thanks for your answers

    table = new JTable(...)
         public void changeSelection(int row, int column, boolean toggle, boolean extend)
              if (row == 0)
                   return;
              else
                   super.changeSelection(row, column, toggle, extend);
    };

  • How to get  visible row  count  in JTable ?

    I have one table which is added to one scroll pane. For example my table have total 1000 rows, but at a time only 20 rows should be visible to the scroll pane. And I want to scroll the rows and show only 20 at a time.When user scrolls JTable then next time he can view only 1 to 21, then 2 to 22, and so on. I want to know how to get that number which represents the visible row( in this case it is 20).So kindly help me how to get visible row count. Any help regarding this will be appriciated.
    Thanks and Regards,
    Sheetal

    how to get visible row count.First you need to get the viewport used by the scrollpane. Then you can use methods like getViewPosition() and getViewSize() to get information about the current postition of and size of the viewport.
    Then you can use the table method getRowAtPoint(). to determine the first and last visible row which can then be used to calculate the visible row count.
    When user scrolls JTable then next time he can view only 1 to 21, then 2 to 22, and so onThis is the default behaviour when a "block" scroll is done.
    However when you click on the arrow button on the scrollbar it will only scroll a single row. You could override the getScrollableUnitIncrement() method to return the value from the getScrollableBlockIncrement() method.
    However the user can still drag the scrollbar manually which would cause a problem. So you would also need to remove the MouseMotionListeners from the scrollbar to prevent this.

  • How to get String form java JTable row?

    Hello everybody,
    Can anybody tell me how to get value as String form java JTable row?

    I found solution:
            table.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent evt) {
                    if (evt.getClickCount() == 2){
                        int col = table.getSelectedColumn();
                        int row = table.getSelectedRow();
                        String tableUrl = ((String)table.getModel().getValueAt(row, col));
                        ur.openUrl(tableUrl);
            });

  • How can i validate current row input text field like required.

    Hi All,
    jdev 11.1.2.1.0
    in my use case i have drag drop one viewobject as a adf table. and in table i have also add one extra input text field which is not based on
    vo.
    now i want to validate current row input text field not null when i commit row.
    but when i using required property true. it worked for all row in table. problem is that i want only current row input text field validate not all
    thanks,
    Manish

    When the user tries commit the data by clicking on the button -- For that button, have the logic in the actionlistener method to check if the additional input field is NULL or NOT.
    If it is NULL, show an error message using FacesContext.addMessage() API.
    Thanks,
    Navaneeth

  • How to get event from selected JTable row

    Whenever a JTable row is selected, i want to get an event to get the row index of the selected row and read the row data. Which listenere do i have to implement and where is the correspoinding addXXXListener() method in JTable?

    here ya go...
    <table>.getSelectionModel().addListSelectionListener(...);Josh Castagno
    http://www.jdc-software.com

  • How to validate the dates in the table control ?

    How to validate the dates in the table control ?
    Can I write like this ?
    LOOP AT it_tab .
    CHAIN.
    FIELD : it_tab-strtdat,it_tab-enddat.
    module date_validation.
    ENDCHAIN.
    ENDLOOP.
    Module Date_validation.
    ranges : vdat type sy-datum.
    vdat-sign = 'I'.
    VDAT-LOW = it_tab-STRTDAT.
    VDAT-HIGH = it_tab-ENDDAT.
    VDAT-OPTION = 'BT'.
    APPEND VDAT.
    WHAT CODE I have to write here to validate ?
    and If I write like this How can we know which is the current row being add ?
    It loops total internal table ..?
    Bye,
    Muttu.

    Hi,
    I think there is no need to put chain endchain.
    To do validation you have to write module in PAI which does required validations.
    Thanks
    DARSHAN PATEL

  • Add JTable Row Headers At The End Of The Rows(At Right)?

    hi all
    i got this example for adding JTable Row Headers,but it adds the headers at the left(beginning of the row)
    and i want to add the headers at the end of the row(at right),any ideas how to do that?
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import javax.swing.AbstractListModel;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.ListCellRenderer;
    import javax.swing.ListModel;
    import javax.swing.UIManager;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.JTableHeader;
    * @version 1.0 11/09/98
    class RowHeaderRenderer extends JLabel implements ListCellRenderer {
      RowHeaderRenderer(JTable table) {
        JTableHeader header = table.getTableHeader();
        setOpaque(true);
        setBorder(UIManager.getBorder("TableHeader.cellBorder"));
        setHorizontalAlignment(CENTER);
        setForeground(header.getForeground());
        setBackground(header.getBackground());
        setFont(header.getFont());
      public Component getListCellRendererComponent(JList list, Object value,
          int index, boolean isSelected, boolean cellHasFocus) {
        setText((value == null) ? "" : value.toString());
        return this;
    class RowHeaderExample extends JFrame {
      public RowHeaderExample() {
        super("Row Header Example");
        setSize(370, 150);
        ListModel lm = new AbstractListModel() {
          String headers[] = { "Row1", "Row2", "Row3", "Row4"};
          public int getSize() {
            return headers.length;
          public Object getElementAt(int index) {
            return headers[index];
        DefaultTableModel dm = new DefaultTableModel(lm.getSize(), 4);
        JTable table = new JTable(dm);
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        table.setRowHeight(18);
        JList rowHeader = new JList(lm);
        rowHeader.setFixedCellWidth(50);
        rowHeader.setFixedCellHeight(18);
        rowHeader.setCellRenderer(new RowHeaderRenderer(table));
        JScrollPane scroll = new JScrollPane(table);
        scroll.setRowHeaderView(rowHeader);
        getContentPane().add(scroll, BorderLayout.CENTER);
      public static void main(String[] args) {
        RowHeaderExample frame = new RowHeaderExample();
        frame.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
        frame.setVisible(true);
    }

    fixed by:
    list.setBackground(table.getTableHeader().getBackground());here's the full code:
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.ComponentOrientation;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import javax.swing.DefaultListModel;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.ListCellRenderer;
    import javax.swing.UIManager;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.JTableHeader;
    * @version 1.0 11/09/98
    class RowHeaderRenderer extends JLabel implements ListCellRenderer {
      JTable table;
      RowHeaderRenderer(JTable table) {
        this.table = table;
        JTableHeader header = table.getTableHeader();
        setOpaque(true);
        setBorder(UIManager.getBorder("TableHeader.cellBorder"));
        setHorizontalAlignment(CENTER);
        setForeground(header.getForeground());
        setBackground(header.getBackground());
        setFont(header.getFont());
      public Component getListCellRendererComponent(JList list, Object value,
          int index, boolean isSelected, boolean cellHasFocus) {
        list.setBackground(table.getTableHeader().getBackground());
        setText((value == null) ? "" : value.toString());
        return this;
    class RowHeaderExample extends JFrame {
      public RowHeaderExample() {
        super("Row Header Example");
        setSize(370, 150);
        setLocationRelativeTo(null);
        DefaultListModel lstModel = new DefaultListModel();
        lstModel.addElement("Row 1");
        lstModel.addElement("Row 2");
        lstModel.addElement("Row 3");
        lstModel.addElement("Row 4");
        DefaultTableModel dm = new DefaultTableModel(lstModel.getSize(), 4);
        JTable table = new JTable(dm);
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        table.setRowHeight(18);
        JList rowHeader = new JList(lstModel);
        rowHeader.setFixedCellWidth(50);
        rowHeader.setFixedCellHeight(18);
        rowHeader.setCellRenderer(new RowHeaderRenderer(table));
        JScrollPane scroll = new JScrollPane(table);
        scroll.setRowHeaderView(rowHeader);
        table.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
        scroll.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
        getContentPane().add(scroll, BorderLayout.CENTER);
      public static void main(String[] args) {
        RowHeaderExample frame = new RowHeaderExample();
        frame.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
        frame.setVisible(true);
    }

  • How to validate table entries for that table

    i hav created one ztable se11.how to validate table entries for that table

    hi,
    create foreign key relation ships
    do the following way
    create a check table with key fields  the fields which you want to check
    create a foreign key relations with that table
    the procedure is as follows
    To create your check table:
    Begin at the Dictionary: Initial Screen.
    Type the table name in the Object Name field.
    Choose the Tables radio button.
    Press the Create button. The Dictionary: Table/Structure: Change Fields screen is displayed.
    Type a short text, choose delivery class A, and tickmark Tab. Maint. Allowed.
    Type the field and data element names at the bottom of the screen.
    Tickmark both fields to indicate that they both form the primary key
    Press the Save button on the Standard toolbar. The Create Object Catalog Entry screen appears.
    Press the Local Object button. You are returned to the Dictionary: Table/Structure: Change Fields screen
    Press the Technical Settings button on the Application toolbar. The ABAP/4 Dictionary: Maintain Technical Settings screen is displayed.
    In the Data Class field, enter APPL0 (APPL0 with a zero, not APPLO with an alphabetic O).
    Enter 0 (zero) in the Size Category field.
    Press the Save button.
    Press the Back button. You are returned to the Dictionary: Table/Structure: Change Fields screen.
    Press the Activate button on the Application toolbar. The message "was activated" appears in the status
    bar and the Status field contains the value Act..
    Choose the menu path Utilities->Create Entries to enter data into your newly created check table. Enter six rows with land1 values of US, CA, DE, IT, JP, and AU.
    Foreign Key Creation Procedure
    To create a foreign key:
    Begin at the Dictionary: Initial Screen.
    In the Object Name field, type the name of the table that is to contain the foreign key .
    Choose the Tables radio button.
    Press the Change button. The Dictionary: Table/Structure: Change Fields screen is displayed.
    Position your cursor on the field that is to become the foreign key
    Press the Foreign Keys button on the Application toolbar. The Create Foreign Key screen will be displayed
    Type a description of the foreign key in the Short Text field, for example, Country Code validation.
    Type the name of the check table (-t005) in the Check Table field, or click on the down-arrow and choose it from the list.
    The Change Foreign Key pop-up appears. It states Check table name was created or changed. Generate a proposal for field assignment? Press the Yes button.
    You are returned to the Create Foreign Key screen. The check table field names and the foreign key field names are displayed. (The check table field names are -t005-mandt and -t005-land1. The foreign key field names are -lfa1-mandt and -lfa1-land1).
    Press the Copy button. You are returned to the Dictionary: Table/Structure: Change Fields screen and the message "Foreign key was transferred" appears in the status bar. The Status fields contain the values Revised and Not saved.
    Press the Activate button on the Application toolbar. The message "was activated" appears in the status bar. The values in the Status fields are now Act. and Saved.
    reward if helpful
    prasanth

Maybe you are looking for

  • Trying to display multiple people from different titles

    Get-ADUser -Filter {Title -like "Director"} This is what I've come up with. I want to display more than just director but I don't know how to do that. I have tried to use spaces and other things but I am not sure what im doing wrong.

  • CFCHART - Line Chart Questions - CF7

    Hi Folks - I have a few questions about CFCHART in CF 7 and I am hoping that maybe different users can answer them: The following questions relate to creating a line chart. 1) Is there a way to control the gridlines yourself, and not use the values f

  • Labview addons problem

    While opening an existing project, I have been prompted to find the control named "Telnet Session.ctl". The labview is trying to load it from "\addons\internet\telnet\telnet.llb\Telnet Session.ctl", but couldn't find it. What should I do? I also see

  • Why Java is Technology?

    Hello everyone, I m very new to java, i m still learning java. At the beginning itself i got a doubt that why everyone calls java as a technology not language. Please let me know why is Java is called as technology not Programming language.

  • No audio track with AVCHD files (shot on Panasonic HMC-70)

    I've read quite a few treads and cannot figure this out.  I have a standalone version of Premiere CC 7.0.0 (342) installed in my computer lab at school. I tested the software with a creative cloud trial and AVCHD files worked fine.  This version does