Tôi đã tạo một ứng dụng Swing khá đơn giản về chức năng. Tuy nhiên mã mà nó bao gồm trở nên khá lớn và rất lộn xộn theo ý kiến của tôi. Tất cả các thành phần swing và hành động là trong một tập tin. Vì vậy, ví dụ nếu tôi đã làm cho một ứng dụng thậm chí lớn hơn với nhiều chức năng mã sẽ được khá khó khăn để đi qua.câu hỏi chung về Java Swing
Vì vậy, câu hỏi của tôi là cách tạo cấu trúc mã tốt. Hoặc nếu có một trang web tốt tôi có thể đọc về nó, và nếu có thể một số ví dụ mã. Tôi đã kiểm tra hướng dẫn của Sun về Swing, nhưng đó là một ví dụ khá đơn giản mà họ đã thể hiện.
CẬP NHẬT: Tôi đã cân nhắc một lúc và kiểm tra một số ví dụ. Tôi không biết liệu tôi có đúng mẫu MVC hay không. Dù sao ý tưởng của tôi là tách riêng từng JFrame thành tệp lớp của riêng họ. Sau đó tôi có một MainFrame là cửa sổ chính cho ứng dụng. Từ đó JFrame tôi tạo ra một ví dụ của mỗi JFrame tôi có. Và gọi những khung đó từ MainFrame với các hành động. Tôi không biết đây có phải là một ý hay hay không. Tuy nhiên nó làm cho mã đáng kể dễ đọc hơn.
Dưới đây là một ví dụ về làm thế nào tôi có nghĩa là
class Main implements ActionListener {
private JFrame frame = new JFrame();
private JButton button1 = new JButton();
private JPanel panel = new JPanel();
private FirstFrame frame1 = new FirstFrame();
private SecondFrame frame2 = new SecondFrame();
private ThirdFrame frame3 = new ThirdFrame();
public Main() {
button1.addActionListener(this);
}
public createGUI() {
frame.setTitle("Main");
frame.setSize(400,300);
panel.add(button);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
public static void main(String args[]) {
new Main().createGUI();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == button1)
{
frame1.enable();
}
}
}
Câu hỏi hay! Tôi đã cân nhắc điều này một lúc. –