当前位置: 首页 > 面试题库 >

JLabel和JTextField setText不更新

谷永贞
2023-03-14
问题内容

我想用setText()方法更新jlabel和jtextfield,但是它不起作用。但是,其余代码仍在工作。代码如下;

btnDosyaSe.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                JFileChooser jfc = new JFileChooser();
                jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

                int kullaniciSecimi = jfc.showOpenDialog(null);
                if (kullaniciSecimi == JFileChooser.APPROVE_OPTION) {
                    File fileName = jfc.getSelectedFile();
                    textField.setText(fileName.getPath());
                    islemSureci.setText("Veriler Okunuyor...");

                    try {

                        ArrayList<ArrayList<String>> tumYazılar = rwd.readTXT(fileName.getPath());
                        String[] yazarlar = rwd.yazarlar(fileName.getPath());
                        islemSureci.setText("Veriler Okundu! Öznitelik çıkarımına başlandı...");

                        oznitelikler = oc.oznitelikleriBul(tumYazılar, yazarlar);
                        islemSureci.setText("Öznitelikler Çıkarılmıştır!");
                        //String text = readTXT(fileName);

                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        });

在这里,islemSureci是JLabel,而textFiled是JTextField。设置它们后,它不起作用。代码中的所有工作完成后,它们就会出现。请问原因是什么?


问题答案:

我认为您的意思是 “所有工作完成之后”
是从文件(您注释的行)中加载文本。我认为这段代码可以正常工作,因为设置文本后您什么也不做。您可以使用其他线程加载文本(如果为true)。

如果 oc.oznitelikleriBul()
需要很长时间,则可以在不同的线程中对该行和文本设置行进行编码。但是,在这种情况下,请确保在新线程内的EDT中运行文本设置行。



 类似资料:
  • 我正在做一个窗口,有一个大的文本区域和一个小的文本区域下。这是我到目前为止得到的: 这是我的代码: 我如何使较大的textarea部分透明,这样我就可以看到背景,我如何移动“比如说:”到较小的textarea前面?

  • 问题内容: 我有一个称为Keys.java的按钮类,它将按钮面板返回到名为Control.java的类。我在Control.java中有一个JLabel,但是我想做的是在按下按钮时更改JLabel。您将如何去做? 我试过在Keys.java中设置一个字符串,该字符串根据按钮而变化,然后将JLabel的文本设置为等于该字符串,但似乎不起作用。 关于如何实现这一点的任何想法? 问题答案: 可能是您更新

  • 基本上我有两个账户,SSPUserInput和SSPViewer。我想在SSPUserInput类中按下一个按钮,在SSPViewer中更改一个JLabel名称。这基本上是一个石头剪刀布游戏。这是我第一次在这里发帖,如果我做错了什么,我很抱歉。

  • 我是Netbeans和Java的新手,对jpanels上的jlabel有一个问题。我有一个jTabbedPane,里面有一个jPanel。我在JPanel上有一个jLabel。我想将jLabel的可见性设置为false,但似乎不起作用。当我运行程序时,标签仍然可见。我不明白为什么。

  • 我正在尝试更改一个JLabel的图标(背景),但我有一个问题,图标没有更新。每当我尝试更改main方法中的JLabel时,编译器首先抱怨变量不存在,所以我将它从JFrame初始化方法移到了类级变量。在此之后,Eclipse抱怨我试图从静态上下文引用一个非静态方法,因此我将设置为静态的。这使得程序可以编译,但是图标并没有在任何时候改变。 由于很难理解我的问题,这里提供了一个Eclipse工作区的下载

  • 我目前正在用Java制作一个“超级Tic-Tac-Toe”应用程序。以下是我的目标描述。http://mathwithbaddrawings.com/ultimate-tic-tac-toe-original-post.然而,我在点击更新Jframe时遇到了问题。我的应用程序由单独的单元(JLabel)组成,它们构成了Tic-Tac趾板(JPanel),该趾板将驻留在JFrame中。 我的问题是,