0
假設我想單擊一個按鈕,那麼JLabel/JTextArea/...將在GUI中顯示,如何完成該作業?無法添加ActionListener以添加組件
示例代碼:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyJFrame extends JFrame {
public MyJFrame() {
JButton jButton = new JButton();
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
add(new JLabel("xxxxx"), BorderLayout.SOUTH);
}
});
add(jButton, BorderLayout.CENTER);
}
public static void main(String[] args) {
MyJFrame myJFrame = new MyJFrame();
myJFrame.pack();
myJFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
myJFrame.setVisible(true);
myJFrame.setLocationRelativeTo(null);
}
}
我的代碼有什麼問題。點擊按鈕後,沒有JLabel出現。
更新:
誰能告訴我,如果我想從Java官方信息解決我的問題,我應該在哪裏尋找?這似乎JAVA教程或API有我的問題涉及什麼..
有官方Swing教程,獲取更多信息:https://docs.oracle.com/javase/tutorial/uiswing/layout/howLayoutWorks.html – Berger
你可能會考慮使用'CardLayout',參見[如何使用CardLayout](http:///docs.oracle.com/javase/tutorial/uiswing/layout/card.html) – MadProgrammer