soltanalidj
پنج شنبه 19 دی 1387, 11:56 صبح
با سلام.
من یه برنامه ی کوچولو نوشتم و می خواستم معماری MVC رو توش رعایت کنم. لایه ها پیاده شدند.
لایه View که یه JFrame و دو تا JTextField و دو تا JButton .
لایه Controller که مسئولیت Even Handelig رو داره .
لایه Model هم که منابع توش قرار داره .
حالا سوال اینجاست که تو لایه ی Controller چه طوری JTextField ها رو اعتبار سنجی کنم.
هر کدوم از این لایه ها یه کلاس هستند، من چطوری تو لایه C اعضای لایه ی V رو صدا بزنم که منطق و معماری برنامه هم به هم نریزه؟
متد getUsername رو هم برای راحتی کار گذاشتم، ولی . . .
نمونه کد لایه View:
public class LoginFrame extends JFrame
{
private JTextField user;
private JPasswordField pass;
private JButton login;
private JButton exit;
private JLabel message;
private JLabel userTiyle;
private JLabel passTitle;
private MyListeners myListeners;
public LoginFrame(String title)
{
setTitle(title);
setLayout(new BorderLayout());
initialize();
}
.
.
.
public String getUsername()
{
return user.getText();
}
نمونه کد لایه Controller :
public class MyListeners implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
. . .
}
}
من یه برنامه ی کوچولو نوشتم و می خواستم معماری MVC رو توش رعایت کنم. لایه ها پیاده شدند.
لایه View که یه JFrame و دو تا JTextField و دو تا JButton .
لایه Controller که مسئولیت Even Handelig رو داره .
لایه Model هم که منابع توش قرار داره .
حالا سوال اینجاست که تو لایه ی Controller چه طوری JTextField ها رو اعتبار سنجی کنم.
هر کدوم از این لایه ها یه کلاس هستند، من چطوری تو لایه C اعضای لایه ی V رو صدا بزنم که منطق و معماری برنامه هم به هم نریزه؟
متد getUsername رو هم برای راحتی کار گذاشتم، ولی . . .
نمونه کد لایه View:
public class LoginFrame extends JFrame
{
private JTextField user;
private JPasswordField pass;
private JButton login;
private JButton exit;
private JLabel message;
private JLabel userTiyle;
private JLabel passTitle;
private MyListeners myListeners;
public LoginFrame(String title)
{
setTitle(title);
setLayout(new BorderLayout());
initialize();
}
.
.
.
public String getUsername()
{
return user.getText();
}
نمونه کد لایه Controller :
public class MyListeners implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
. . .
}
}