Я изучаю Java и GUI. У меня есть несколько вопросов, и первый, если есть какое-либо существенное различие между созданием подкласса JFrame и экземпляра JFrame. Похоже, что подкласс является более мощным? Мне также интересно, нужно ли использовать этот код при создании графического интерфейса:
Container contentPane = getContentPane();
contentPane.setLayot(new Flowlayout());
Я добавляю свой класс GUI, пока что это простой тест, к задаче, которую я должен выполнить. Когда пользователь ввел какой-то текст в текстовое поле и нажмите кнопку, чтобы перейти к следующему шагу, как мне это сделать? сделать, чтобы очистить фрейм и показать новый контент, или есть специальный способ сделать это на Java? Я думаю, что должно быть лучше использовать одно и то же окно вместо создания нового !? Идентификатор помощи уточняется! Спасибо
// Gui class
import java.awt.FlowLayout; // layout
import java.awt.event.ActionListener; // listener
import java.awt.event.ActionEvent; // event
import javax.swing.JFrame; // windows properties
import javax.swing.JLabel; // row of text
import javax.swing.JTextField; // enter text
import javax.swing.JOptionPane; // pop up dialog
import javax.swing.JButton; // buttons
// import.javax.swing.*;
public class Gui extends JFrame {
private JLabel text1;
private JTextField textInput1;
private JTextField textInput2;
private JButton nextButton;
// constructor creates the window and it's components
public Gui() {
super("Bank"); // title
setLayout(new FlowLayout()); // set default layout
text1 = new JLabel("New customer");
add(text1);
textInput1 = new JTextField(10);
add(textInput1);
nextButton = new JButton("Continue");
add(nextButton);
// create object to handle the components (action listener object)
frameHandler handler = new frameHandler();
textInput1.addActionListener(handler);
nextButton.addActionListener(handler);
}
// handle the events (class inside another class inherits contents from class outside)
private class frameHandler implements ActionListener {
public void actionPerformed(ActionEvent event){
String input1 = "";
// check if someone hits enter at first textfield
if(event.getSource() == textInput1){
input1 = String.format(event.getActionCommand());
JOptionPane.showMessageDialog(null, input1);
}
else if(event.getSource() == nextButton){
// ??
}
}
}
}