Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
询问enterPressed方法有什么问题? import javax.swing.*; 导入javax.swing.table.DefaultTableModel; 导入java.awt.*; 导入java.awt.event.ActionEvent; 导入java.awt.event.ActionListener; 公共类GUI扩展JFrame{ String[]col={“姓氏”、“名”、“香港身份证”、“学生身份证”、“期末考试成绩”}; 字符串[][]数据=新字符串[1][5]; 公共jj框架; 公共JPanel p; 公开标签检索; 公共jtexts字段; 公共按钮输入; 公共布顿新酒店; 公共按钮未编辑; 公共按钮更新; 公共JButton考试; public DefaultTableModel=new DefaultTableModel(数据,列);; 公共JTable jt=新JTable(模型); 公共图形用户界面(){ setVisible(真); 设置大小(600400); setTitle(“学生档案管理系统”); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); p=新的JPanel(); 搜索=新JLabel(“搜索:”); s=新的JTextField(“”); 回车=新的JButton(“回车”); enter.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ enterPressed(); } }); p、 添加(搜索); p、 添加(s); p、 添加(输入); 新建=新建按钮(“编辑”); 新.挫折(10,10,20,20);; NEW.addActionListener(NEW ActionListener()){ 已执行的公共无效操作(操作事件e){ updatePressed(); } }); p、 增加(新的); unedit=新的JButton(“unedit”); 未编辑挫折(70,80,20,20); unedit.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ 未编辑(); } }); p、 添加(未编辑); 更新=新按钮(“添加学生”); 更新.挫折(50,40,20,20); update.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ NEWpressed(); } }); p、 添加(更新); jt.setEnabled(假); jt.setAutoCreateRowSorter(真); jt.setPreferredScrollableViewportSize(新维度(500300)); jt.SetFillsViewPertheight(真); jt.立根背景(颜色:灰色); jt.设置对齐Y(底部对齐); JScrollPane jps=新的JScrollPane(jt); p、 增补(太平绅士); 加(p); } 公共空间{ addRow(新对象[]{“”、“”、“”、“”、“”、“”、“”}); } public void updatePressed(){ jt.setEnabled(真); } public void uneditPressed(){ jt.setEnabled(假); } 公共图书馆{ 字符串get=s.getText().toString(); 对于(int x=0;x_Java_Swing_User Interface_Jtable_Jtextfield - Fatal编程技术网

询问enterPressed方法有什么问题? import javax.swing.*; 导入javax.swing.table.DefaultTableModel; 导入java.awt.*; 导入java.awt.event.ActionEvent; 导入java.awt.event.ActionListener; 公共类GUI扩展JFrame{ String[]col={“姓氏”、“名”、“香港身份证”、“学生身份证”、“期末考试成绩”}; 字符串[][]数据=新字符串[1][5]; 公共jj框架; 公共JPanel p; 公开标签检索; 公共jtexts字段; 公共按钮输入; 公共布顿新酒店; 公共按钮未编辑; 公共按钮更新; 公共JButton考试; public DefaultTableModel=new DefaultTableModel(数据,列);; 公共JTable jt=新JTable(模型); 公共图形用户界面(){ setVisible(真); 设置大小(600400); setTitle(“学生档案管理系统”); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); p=新的JPanel(); 搜索=新JLabel(“搜索:”); s=新的JTextField(“”); 回车=新的JButton(“回车”); enter.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ enterPressed(); } }); p、 添加(搜索); p、 添加(s); p、 添加(输入); 新建=新建按钮(“编辑”); 新.挫折(10,10,20,20);; NEW.addActionListener(NEW ActionListener()){ 已执行的公共无效操作(操作事件e){ updatePressed(); } }); p、 增加(新的); unedit=新的JButton(“unedit”); 未编辑挫折(70,80,20,20); unedit.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ 未编辑(); } }); p、 添加(未编辑); 更新=新按钮(“添加学生”); 更新.挫折(50,40,20,20); update.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ NEWpressed(); } }); p、 添加(更新); jt.setEnabled(假); jt.setAutoCreateRowSorter(真); jt.setPreferredScrollableViewportSize(新维度(500300)); jt.SetFillsViewPertheight(真); jt.立根背景(颜色:灰色); jt.设置对齐Y(底部对齐); JScrollPane jps=新的JScrollPane(jt); p、 增补(太平绅士); 加(p); } 公共空间{ addRow(新对象[]{“”、“”、“”、“”、“”、“”、“”}); } public void updatePressed(){ jt.setEnabled(真); } public void uneditPressed(){ jt.setEnabled(假); } 公共图书馆{ 字符串get=s.getText().toString(); 对于(int x=0;x

询问enterPressed方法有什么问题? import javax.swing.*; 导入javax.swing.table.DefaultTableModel; 导入java.awt.*; 导入java.awt.event.ActionEvent; 导入java.awt.event.ActionListener; 公共类GUI扩展JFrame{ String[]col={“姓氏”、“名”、“香港身份证”、“学生身份证”、“期末考试成绩”}; 字符串[][]数据=新字符串[1][5]; 公共jj框架; 公共JPanel p; 公开标签检索; 公共jtexts字段; 公共按钮输入; 公共布顿新酒店; 公共按钮未编辑; 公共按钮更新; 公共JButton考试; public DefaultTableModel=new DefaultTableModel(数据,列);; 公共JTable jt=新JTable(模型); 公共图形用户界面(){ setVisible(真); 设置大小(600400); setTitle(“学生档案管理系统”); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); p=新的JPanel(); 搜索=新JLabel(“搜索:”); s=新的JTextField(“”); 回车=新的JButton(“回车”); enter.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ enterPressed(); } }); p、 添加(搜索); p、 添加(s); p、 添加(输入); 新建=新建按钮(“编辑”); 新.挫折(10,10,20,20);; NEW.addActionListener(NEW ActionListener()){ 已执行的公共无效操作(操作事件e){ updatePressed(); } }); p、 增加(新的); unedit=新的JButton(“unedit”); 未编辑挫折(70,80,20,20); unedit.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ 未编辑(); } }); p、 添加(未编辑); 更新=新按钮(“添加学生”); 更新.挫折(50,40,20,20); update.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ NEWpressed(); } }); p、 添加(更新); jt.setEnabled(假); jt.setAutoCreateRowSorter(真); jt.setPreferredScrollableViewportSize(新维度(500300)); jt.SetFillsViewPertheight(真); jt.立根背景(颜色:灰色); jt.设置对齐Y(底部对齐); JScrollPane jps=新的JScrollPane(jt); p、 增补(太平绅士); 加(p); } 公共空间{ addRow(新对象[]{“”、“”、“”、“”、“”、“”、“”}); } public void updatePressed(){ jt.setEnabled(真); } public void uneditPressed(){ jt.setEnabled(假); } 公共图书馆{ 字符串get=s.getText().toString(); 对于(int x=0;x,java,swing,user-interface,jtable,jtextfield,Java,Swing,User Interface,Jtable,Jtextfield,在JTable上搜索JTextField时,我希望它只显示我在搜索栏中键入的内容 在enterPressed()方法下,我打算通过让程序检查输入文本字段的每个字母来过滤结果,然后将JTable重置为任何结果 我试图用数据[x]重置DefaultTableModel时出错数据[x]应该是文本字段中输入的任何内容 如果这不是正确的方法,请使用标准JavaAPI进行解释。这不包括DocumentListener之类的东西……也许我这里需要双for循环。也不确定所做的if语句是否真的在做我认为它在做的事

JTable
上搜索
JTextField
时,我希望它只显示我在搜索栏中键入的内容

enterPressed()
方法下,我打算通过让程序检查输入文本字段的每个字母来过滤结果,然后将
JTable
重置为任何结果

我试图用
数据[x]
重置
DefaultTableModel
时出错<代码>数据[x]应该是文本字段中输入的任何内容


如果这不是正确的方法,请使用标准JavaAPI进行解释。这不包括
DocumentListener
之类的东西……也许我这里需要双for循环。也不确定所做的if语句是否真的在做我认为它在做的事情,但它应该意味着如果在textfield中输入的文本等于
JTable
中的数据,那么将
JTable
重置为与在
JTextField
JTable
中输入的内容相同的内容,以支持过滤分拣机API

从教程中签出

例如

import javax.swing.*;
    import javax.swing.table.DefaultTableModel;

    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;


    public class GUI extends JFrame{
        String [] col = {"Last Name", "First Name", "HKID", "Student ID", "Final Exam Score"};
        String [][] data =  new String [1][5];
        public JFrame j;
        public JPanel p;
        public JLabel search;
        public JTextField s;
        public JButton enter;
        public JButton NEW;
        public JButton unedit;
        public JButton update;
        public JButton exam;
        public DefaultTableModel model = new DefaultTableModel(data, col);;
        public JTable jt = new JTable(model);

        public GUI(){
            setVisible(true);
            setSize(600,400);
            setTitle("Student Record Management System");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            p = new JPanel();
            search = new JLabel("Search: ");
            s = new JTextField("                                     ");
            enter = new JButton("Enter");
            enter.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    enterPressed();
                }
            });
            p.add(search);
            p.add(s);
            p.add(enter);
            NEW = new JButton("Edit");
            NEW.setBounds(10,10,20,20);
            NEW.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    updatePressed();
                }
            });
            p.add(NEW);
            unedit = new JButton("Unedit");
            unedit.setBounds(70,80,20, 20);
            unedit.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    uneditPressed();
                }
            });
            p.add(unedit);
            update = new JButton("Add Student");
            update.setBounds(50,40,20,20);
            update.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    NEWpressed();
                }
            });
            p.add(update);
            jt.setEnabled(false);
            jt.setAutoCreateRowSorter(true);
            jt.setPreferredScrollableViewportSize(new Dimension(500,300));
            jt.setFillsViewportHeight(true);
            jt.setBackground(Color.GRAY);
            jt.setAlignmentY(BOTTOM_ALIGNMENT);
            JScrollPane jps = new JScrollPane(jt);
            p.add(jps);
            add(p);
        }
        public void NEWpressed(){
            model.addRow(new Object[]{" ", " ", " ", " ", " "});
        }
        public void updatePressed(){
            jt.setEnabled(true);

        }
        public void uneditPressed(){
            jt.setEnabled(false);
        }
        public void enterPressed(){
            String get = s.getText().toString();
            for(int x=0; x< get.length(); x++){
                if(data[x].equals(get)){
                    model= new DefaultTableModel(data[x], col); 
                }else{
                    model = new DefaultTableModel(data, col);
                }
            }
        }


        public static void main(String args []){
            GUI a = new GUI();
            a.setVisible(true);

        }

    }     
public void enterPressed(){
行滤波器;
过滤器=新的行过滤器(){
@凌驾

public boolean include(RowFilter.Entryyou question不清楚它是否做了与您预期不同的事情?如果是,请让我们知道它做了什么以及您希望它做什么。抱歉,刚刚更新了我的解释
数据
是2d数组,所以
数据[x]
返回一个
字符串
数组通常,您希望在添加所有组件后始终将帧设置为可见。
public void enterPressed() {
    RowFilter<DefaultTableModel, Integer> filter;
    filter = new RowFilter<DefaultTableModel, Integer>() {

        @Override
        public boolean include(RowFilter.Entry<? extends DefaultTableModel, ? extends Integer> entry) {
            String filter = s.getText();

            DefaultTableModel model = entry.getModel();
            int row = entry.getIdentifier();

            boolean include = false;
            if (model.getValueAt(row, 0).toString().contains(filter) || model.getValueAt(row, 0).toString().contains(filter)) {
                include = true;
            }

            return include;
        }
    };
    ((TableRowSorter)jt.getRowSorter()).setRowFilter(filter);
    //        String get = s.getText().toString();
    //        for (int x = 0; x < get.length(); x++) {
    //            if (data[x].equals(get)) {
    //                model = new DefaultTableModel(data[x], col);
    //            } else {
    //                model = new DefaultTableModel(data, col);
    //            }
    //        }
}