Я новичок в JAVA.
Мой вопрос, мой графический интерфейс имеет одну кнопку. Если кнопка нажата, она должна напечатать некоторые тексты в графическом интерфейсе. Но когда я нажал кнопку. Он покажет совершенно новый кадр, а затем покажет тексты.
Как я могу сделать все это в одном кадре, и каждый раз, когда я нажимаю кнопку, появляются новые тексты.
1. весь графический интерфейс был построен
package JuiceFactory;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class JuiceFactory extends JFrame{
private CustomTextFeild customTextFeild;
private CustomButton customButton;
public JuiceFactory() {
JFrame jf = new JFrame("Welcome to a Juice Factory");
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel jPanel = new JPanel();
jPanel.setLayout(new BorderLayout(5,5));
jPanel.setBorder(BorderFactory.createLineBorder(Color.GRAY,10));
customTextFeild = new CustomTextFeild();
customButton = new CustomButton();
jPanel.add(customTextFeild,BorderLayout.CENTER);
jPanel.add(customButton,BorderLayout.EAST);
customButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new Juice();
}
});
jf.setContentPane(jPanel);
jf.setLocationRelativeTo(null);
jf.pack();
jf.setVisible(true);
}
public void printMessage(String Message){
customTextFeild.addText(Message);
}
}
2. Предпочтение кнопки
class CustomButton extends JButton {
public static int Height = 20,Width=100;
public CustomButton(){
setOpaque(true);
new JButton();
setText("Order Juice");
}
public Dimension getPreferredSize(){
return (new Dimension(Width,Height)) ;
}
}
3.JTextFeild preference
class CustomTextFeild extends JTextArea{
private static final int GAP = 5;
public CustomTextFeild(){
setOpaque(true);
setBorder(BorderFactory.createLineBorder(Color.YELLOW,GAP,true));
setLineWrap(true);
setText("Juice Producing process.......\n");
}
public Dimension getPreferredSize(){
return (new Dimension(100,100)) ;
}
public void addText(String words){
append(words+"\n");
}
}
package JuiceFactory;
//where the program begins
public class Main extends CustomTextFeild{
public Main(){
new Juice();
}
public static void main(String[] args) {
JuiceFactory juiceFactory = new JuiceFactory();
}
}
4. Показать процедуру
package JuiceFactory;
public class Juice extends JuiceFactory implements Runnable{
public Juice(){
Thread t1 = new Thread(this);
t1.start();
}
@Override
public void run() {
try {
printMessage("Put Fruits into the mixer.......");
Thread.sleep(3000);
printMessage("Juice is done!");
} catch (InterruptedException e){
e.printStackTrace();
}
}
}