Java 如果选择了JTable中的一行,如何显示JTable中的其他行?

Java 如果选择了JTable中的一行,如何显示JTable中的其他行?,java,swing,jtable,Java,Swing,Jtable,我正在使用Swing开发酒店预订应用程序 我有一个JTable行中的房间列表。如果我单击任意一行,则如果用户在特定日期预订了所选房间,则该房间将转到预订。之后,如果有人试图在相同的日期预订相同的房间,则必须显示警告消息,或者我如何从表中隐藏该行 import javax.swing.*; /** * * @author ssn */ public class Reservation extends javax.swing.JFrame { /** * Creates n

我正在使用Swing开发酒店预订应用程序

我有一个
JTable
行中的房间列表。如果我单击任意一行,则如果用户在特定日期预订了所选房间,则该房间将转到预订。之后,如果有人试图在相同的日期预订相同的房间,则必须显示警告消息,或者我如何从表中隐藏该行

import javax.swing.*;
/**
 *
 * @author ssn
 */
public class Reservation extends javax.swing.JFrame {

    /**
     * Creates new form Reservation
     */
    public Reservation() {
        initComponents();
    }
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel2 = new javax.swing.JPanel();
        jPanel1 = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        RentPerDay = new javax.swing.JTextField();
        BedType = new javax.swing.JTextField();
        RoomNo = new javax.swing.JTextField();
        RoomType = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jLabel12 = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        jLabel15 = new javax.swing.JLabel();
        jLabel16 = new javax.swing.JLabel();
        jLabel17 = new javax.swing.JLabel();
        jButton2 = new javax.swing.JButton();
        jTextField1 = new javax.swing.JTextField();
        jTextField2 = new javax.swing.JTextField();
        jTextField3 = new javax.swing.JTextField();
        jTextField7 = new javax.swing.JTextField();
        jTextField8 = new javax.swing.JTextField();
        jTextField9 = new javax.swing.JTextField();
        NoOfdays = new javax.swing.JTextField();
        jTextField11 = new javax.swing.JTextField();
        jComboBox1 = new javax.swing.JComboBox<>();
        jComboBox2 = new javax.swing.JComboBox<>();
        jComboBox3 = new javax.swing.JComboBox<>();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel2.setText("RESERVATION OF ROOM");
        jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 800, 20));
import javax.swing.*;
/**
*
*@author-ssn
*/
公共类保留扩展了javax.swing.JFrame{
/**
*创建新表单保留
*/
公众保留(){
初始化组件();
}
/**
*从构造函数中调用此方法来初始化表单。
*警告:不要修改此代码。此方法的内容始终为
*由表单编辑器重新生成。
*/
@抑制警告(“未选中”)
//                           
私有组件(){
jPanel2=newjavax.swing.JPanel();
jPanel1=newjavax.swing.JPanel();
jLabel2=newjavax.swing.JLabel();
jLabel3=newjavax.swing.JLabel();
jLabel4=newjavax.swing.JLabel();
RentPerDay=newjavax.swing.JTextField();
BedType=newjavax.swing.JTextField();
RoomNo=newjavax.swing.JTextField();
RoomType=newjavax.swing.JTextField();
jLabel5=newjavax.swing.JLabel();
jLabel6=newjavax.swing.JLabel();
jLabel7=newjavax.swing.JLabel();
jLabel8=newjavax.swing.JLabel();
jLabel9=newjavax.swing.JLabel();
jLabel10=newjavax.swing.JLabel();
jLabel11=newjavax.swing.JLabel();
jButton1=newjavax.swing.JButton();
jLabel12=newjavax.swing.JLabel();
jLabel13=newjavax.swing.JLabel();
jLabel14=newjavax.swing.JLabel();
jLabel15=newjavax.swing.JLabel();
jLabel16=newjavax.swing.JLabel();
jLabel17=newjavax.swing.JLabel();
jButton2=newjavax.swing.JButton();
jTextField1=newjavax.swing.JTextField();
jTextField2=newjavax.swing.JTextField();
jTextField3=newjavax.swing.JTextField();
jTextField7=newjavax.swing.JTextField();
jTextField8=newjavax.swing.JTextField();
jTextField9=newjavax.swing.JTextField();
NoOfdays=newjavax.swing.JTextField();
jTextField11=newjavax.swing.JTextField();
jcombox1=newjavax.swing.JComboBox();
jcombox2=newjavax.swing.JComboBox();
jcombox3=newjavax.swing.jcombox();
jLabel1=newjavax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setLayout(neworg.netbeans.lib.awtextra.AbsoluteLayout());
setLayout(neworg.netbeans.lib.awtextra.AbsoluteLayout());
jLabel2.setText(“房间预订”);
add(jLabel2,neworg.netbeans.lib.awtextra.AbsoluteConstraints(0,0800,20));

您不关心编码,只需与我分享如何在
JTable中为行选择创建侦听器使用:

yourJTable.getSelectionModel().addListSelectionListener(e -> {
     public void valueChanged(ListSelectionEvent e) {
          ListSelectionModel lsm = (ListSelectionModel) e.getSource();
     }
});
在此侦听器中,您可以检查所选房间是否已预订,并将其发送到预订


要隐藏
JTable
的行,您应该按照说明使用筛选。

要在
JTable
中为行选择创建侦听器,请使用:

yourJTable.getSelectionModel().addListSelectionListener(e -> {
     public void valueChanged(ListSelectionEvent e) {
          ListSelectionModel lsm = (ListSelectionModel) e.getSource();
     }
});
在此侦听器中,您可以检查所选房间是否已预订,并将其发送到预订


要隐藏
JTable的行
,您应该按照说明使用筛选。

好的,您有什么问题/问题,以及您提供的代码如何支持它?“您不关心编码…”我关心“编码”就像你关心解决方案一样。你有多关心得到答案?但要稍微纠正一下,与其说是MVCE/SSCCE“编码”,不如说是MVCE/SSCCE。为了更快地获得更好的帮助,请发布or。请注意,这可以通过使用a(也可以作为行过滤器)来实现。我必须进一步澄清。如果我必须为此隐藏一行,我需要将该记录存储在数据库中?。我将如何将这些详细信息连接到数据库中?好的,您有什么问题/疑问,以及您提供的代码如何支持它?“您不关心编码…”我关心“编码”就像你关心解决方案一样。你有多关心得到答案?但要稍微纠正一下,与其说是MVCE/SSCCE“编码”,不如说是MVCE/SSCCE。为了更快地获得更好的帮助,请发布or。请注意,这可以通过使用a(也可以作为行过滤器)来实现。我必须进一步澄清。如果我必须为此隐藏一行,我需要将该记录存储在数据库中?。我将如何将这些详细信息连接到数据库中?Happy 1K rep.:)您需要的最后一个信誉点是通过建议筛选行的方法获得的。将
e->
替换为string
new ListSelectionListener()
Happy 1K rep.:)您所需的最后一个信誉点是通过建议筛选行的方法获得的。将
e->
替换为字符串
new ListSelectionListener()