【发布时间】:2021-07-03 05:41:06
【问题描述】:
我正在使用 Jpanel 在 java 中工作,我的工作编译良好,但没有显示输出。希望有人能告诉我这是为什么。我正在使用 jscrollpane,如果它与侦听器或什么有关,我会在最后调用它 idk。
FileDemoPanel.java
package Tutoiral03Task01;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class FileDemoPanel extends JPanel implements ActionListener {
public void actionPerformed(ActionEvent e) {
JButton openBtn, saveBtn;
JTextArea workTa;
openBtn = new JButton ("Open");
openBtn.setEnabled (false);
openBtn.setMnemonic('g');
openBtn.setToolTipText("open button");
setLayout(new BorderLayout());
saveBtn = new JButton ("Save");
saveBtn.setEnabled (false);
saveBtn.setMnemonic('f');
saveBtn.setToolTipText("Save button");
JTextArea logTA = new JTextArea (5, 100);
logTA.setEditable(false);
logTA.setBackground(Color.lightGray);
logTA.setMargin(new Insets(5,5,5,5));
JScrollPane logScrollPane = new JScrollPane(logTA);
add(logScrollPane);
}
}
FileDemo.java
package Tutoiral03Task01;
import javax.swing.*;
public class FileDemo {
public static void main (String[] args){
JFrame frame = new JFrame("Working with files");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new FileDemoPanel());
frame.pack();
frame.setVisible(true);
}
}
【问题讨论】:
-
为什么
actionPerformed方法中设置FileDemoPanel的所有代码?在您当前的场景中永远不会调用此方法。如果将actionPerformed方法中当前拥有的代码移动到FileDemoPanel的构造函数中,将会得到预期的结果。 -
这是我必须完成的任务的一部分。它必须像这样设置
-
好吧,那么您需要一些实际调用该方法的东西。可能是您应该将
JButton(例如)添加到您的JFrame,然后将FileDemoPanel对象添加为ActionListener。你知道ActionListener是什么以及它是如何工作的吗?这段代码的哪一部分是你自己写的? -
我获得了filedemo.java 和filedemopanel 的导入。其余的我自己写
-
那么在这种情况下,您应该再次考虑我的第一条评论。将
actionPerformed方法中当前的代码移动到FileDemoPanel的构造函数中。
标签: java swing jpanel jscrollpane