GUI初學者在這裏。Java GUI按鈕不會將字符串打印到接口
我的問題是沒有創建一個GUI界面,但有2個按鈕打印界面內的JTextArea中的字符串。
第一個「學習」按鈕從數組中取一個隨機元素並打印出來。 第二個按鈕「清除」只是在按下時打印一個字符串 我對這兩個按鈕都有動作偵聽器,但仍然無法完全獲取它。
謝謝你的時間。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
public class GUI extends JFrame {
String [] sentences = {"Random sentence 1", "random sentence 2", "random sentence 3", "random sentence 4", random sentence 5", "random sentence 6"};
private Container contents;
JButton learned = new JButton("Learned");
JButton clear = new JButton("Clear");
JTextArea clearDisplay;
public GUI()
{
super ("GUI"); //title bar text
contents = getContentPane();
contents.setLayout(new FlowLayout()); //make buttons appear
//set the layout manager
//instantiate buttons
learned = new JButton("I Learned");
clear = new JButton("Clear");
//add components to window
contents.add(learned);
contents.add(clear);
//instantiate event handler
ButtonHandler bh = new ButtonHandler();
//add event handler as listener for both buttons
learned.addActionListener (bh);
clear.addActionListener(bh);
setSize (400, 200); //size of window
setVisible (true); //see the window
}
public class ButtonHandler implements ActionListener
{
//implement ActionPerformed method
public void actionPerformed(ActionEvent e)
{
Container contentPane = getContentPane();
if (e.getSource() == learned)
{
String random = (sentances[new Random().nextInt(sentances.length)]); //random from array
JTextArea learned = new JTextArea(random);
}
else if (e.getSource() == clear)
{
JTextArea clearDisplay = new JTextArea("This is where it will display what I learned. \\nMessage Displayed Here.");
}
}
}
public static void main(String[] args)
{
GUI basicGui = new GUI();
basicGui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //program exits on close
}
}
.................好的回答 –