当前位置: 首页 > 知识库问答 >
问题:

类型字符串[closed]的getText()方法未定义

养翔
2023-03-14

我发现这个错误:类型字符串的getText()方法未定义

怎么了?

这是代码:

try {
            Connection connection = (Connection) DriverManager.getConnection("jdbc:postgresql://localhost:5432/Banca2", "postgres", "postgres");
                
                

PreparedStatement st = (PreparedStatement) connection;
                            
                    
                    ResultSet rs = st.executeQuery();
                    if (rs.next()) {
                        String test = test.getText();
                        test.setText("Succes");

我在最后2次对齐时得到错误。

以下是JtextArea的代码

JTextArea test = new JTextArea();
test.setBounds(286, 10, 127, 31);
frame.getContentPane().add(test);

以下是完整的代码:

public class Login {

    private static final long serialVersionUID = 1L;
    private static JFrame frame;
    private JPasswordField txtPassword;
    private JTextField txtUsername;
    

    


    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        //invokeLater Causes runnable to have its run method
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                //The try statement allows you to define a block of code to be tested for errors while it is being executed.
                try {
                    Login window = new Login();
                    window.frame.setVisible(true);
                    //The catch statement allows you to define a block of code to be executed, if an error occurs in the try block.
                } catch (Exception e) {
                    // is a tool used to handle exceptions and errors
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public Login() {
        // give a correct initial value
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        //Here we create the panel, what color and size to have.
        frame = new JFrame();
        frame.getContentPane().setBackground(new Color(51, 204, 204));
        frame.setBounds(200, 200, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);
        frame.setResizable(false);
        //We create a text and set it's properties
        JLabel lblNewLabel = new JLabel("Welcome");
        lblNewLabel.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 13));
        lblNewLabel.setBounds(200, 25, 80, 15);
        //getContentPane() method retrieves the content pane layer so that you can add an object to it
        frame.getContentPane().add(lblNewLabel);
        
        JLabel lblNewLabel_1 = new JLabel("Password:");
        lblNewLabel_1.setBounds(70, 120, 66, 13);
        frame.getContentPane().add(lblNewLabel_1);
        
        JLabel lblNewLabel_2 = new JLabel("Display");
        lblNewLabel_1.setBounds(70, 120, 66, 13);
        frame.getContentPane().add(lblNewLabel_1);
        
        
        
        txtPassword = new JPasswordField();
        txtPassword.setBounds(130, 117, 90, 20);
        frame.getContentPane().add(txtPassword);
        //Create a button 
        JButton btnNewButton = new JButton("Confirm");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                
                String password = txtPassword.getText();
                String username = txtUsername.getText();
                
                try {
                    Connection connection = (Connection) DriverManager.getConnection("jdbc:postgresql://localhost:5432/Banca2", "postgres", "postgres");
                    
                    PreparedStatement st = (PreparedStatement) connection;
                            
                    
                    ResultSet rs = st.executeQuery();
                    if (rs.next()) {
                        String test = test.getText();
                        test.setText("Succes");

                    } else {
                        JOptionPane.showMessageDialog(btnNewButton, "Wrong Username & Password");
                    }
                    
                    }catch (SQLException sqlException) {
                        sqlException.printStackTrace();
                        }

JTextArea test = new JTextArea();
test.setBounds(286, 10, 127, 31);
frame.getContentPane().add(test);

    }
}

共有1个答案

广晔
2023-03-14

您有两个不同的test对象。

在您的代码块中,而不是这样:

if(rs.next(){
    String test = test.getText();
    ...
}

使用这个:

if(rs.next(){
    String differentName = test.getText();
    ...
}

使用的测试对象是字符串对象。然而,你想要的是文本区域。所以你应该给它们取不同的名字。

它之所以采用字符串1,是因为范围界定。这是最近的一个。请通过你最喜欢的搜索引擎搜索范围,我认为这将非常有用。

 类似资料:
  • 当我将接口的任何属性设置为可选时,我会在将其成员分配给其他变量时遇到如下错误: 我如何绕过这个错误?

  • 问题内容: 我只是想知道为什么Google Go中的字符串函数是在包中定义的,而不是在数据类型本身上定义的。他们本可以轻松完成 而不是当前 在包装中。 我的猜测是,如果您想在扩展的自定义类型上实现的自定义版本(即),则无法再访问该类型的内置函数,但是我找不到对此的任何支持。 问题答案: 简短的答案是:“保持语言简单”。 作为一种语言运行,仅允许在同一程序包中的类型上定义方法,但是由于(像其他内置类

  • 问题内容: 我得到这个错误 问题答案: 具有无效的返回类型。更改方法的返回类型以返回值

  • 本文向大家介绍jquery把int类型转换成字符串类型的方法,包括了jquery把int类型转换成字符串类型的方法的使用技巧和注意事项,需要的朋友参考一下 jQuery中把获取的number类型数据转换成字符串类型 以上就是小编为大家带来的jquery把int类型转换成字符串类型的方法全部内容了,希望大家多多支持呐喊教程~

  • 目前我在一个大型项目中,该项目有数千个类似PHP gettext的翻译 这些行将使用采购订单编辑生成的采购订单文件进行翻译。然而,我们有一个英语gammer-nazil,它将检查我们所有的语法并纠正拼写错误。然而,语法不是真正的编码,如果有一个包含所有字符串的大列表就好了。 所以基本上,我正在寻找一个工具,它可以读取我所有的PHP文件(很像PO编辑),并使它成为一个可读的列表,可以编辑和保存(回到

  • 这章我们来着重介绍一下字符串。 刚刚学习Rust的同学可能会被Rust的字符串搞混掉,比如str,String, OsStr, CStr,CString等等…… 事实上,如果你不做FFI的话,常用的字符串类型就只有前两种。我们就来着重研究一下Rust的前两种字符串。 你要明白的是,Rust中的字符串实际上是被编码成UTF-8的一个字节数组。这么说比较拗口,简单来说,Rust字符串内部存储的是一个u