تنظیم ورودی ها از رابط کاربری گرافیکی به مدل

تنظیم ورودی ها از رابط کاربری گرافیکی به مدل

تنظیم ورودی ها از رابط کاربری گرافیکی به مدل
برای افزودن مقداری پویایی بیشتر به برنامه، روشی برای وارد کردن پارامترها به مدل اضافه کنید و یک دکمه حل ایجاد کنید.
داده های ورودی توسط فیلدهای سمت راست پنجره ارائه می شود.
این فیلدها را به بالای تعریف کلاس کلاس BeamModelDemo اضافه کنید :
JTextField editH;
JTextField editb;
JTextField edittf;
ویرایشگر JTextField.
JTextField edittw;
یک روش leftPanel ایجاد می شود که اجزای مختلف را تنظیم می کند.
JPanel خصوصی leftPanel() {
  طرح بندی MigLayout = جدید MigLayout(“wrap 2”);
  پنل JPanel = جدید JPanel(layout);
  JLabel label = new JLabel(“H:”);
  panel.add(label);
  editH = new JTextField(16);
  editH.setText(“160”);
  panel.add(editH);
  label = new JLabel(“b:”);
  panel.add(label);
  editb = new JTextField(16);
  editb.setText(“145”);
  panel.add(editb);
  label = new JLabel(“tf:”);
  panel.add(label);
  edittf = new JTextField(16);
  edittf.setText(“22”);
  panel.add(edittf);
  label = new JLabel(“tw:”);
  panel.add(label);
  edittw = new JTextField(16);
  edittw.setText(“13”);
  panel.add(edittw);
  label = new JLabel(“r:”);
  panel.add(label);
  editr = new JTextField(16);
  editr.setText(“12”);
  panel.add(editr, “wrap 10px”);
  JButton solveButton = new JButton(“Solve”);
  panel.add(solveButton, “span, wrap 10px”);
  solsolButton.addActionListener(NewActionListener() {
  public void actionPerformed(ActionEvent e) {
    حل()؛
  }
  })؛
  پنل برگشتی؛
}
درست قبل از تعریف متغیر graphicsPanel یک فراخوانی به leftPanel در روش start اضافه کنید . همچنین فراخوانی متد حل را در انتهای روش شروع نظر دهید. حل به صورت دستی با کلیک کردن روی دکمه حل انجام می شود.
پنل JPanel = leftPanel();
mainPanel.add(panel, BorderLayout.LINE_START);
برای مثال، برنامه را با فشار دادن Ctrl+F11 اجرا کنید
اکنون می توان با فشار دادن دکمه حل مدل را دوباره حل کرد ، اما هنوز باید فیلدها به مدل متصل شوند.
1
به روش حل در فایل BeamModelDemo.java بروید . خطوط زیر را به بالای روش اضافه کنید:
model.param().set(“H”, editH.getText()+”[mm]”);
model.param().set(“b”, editb.getText()+”[mm]”);
model.param().set(“tw”, edittw.getText()+”[mm]”);
model.param().set(“tf”, edittf.getText()+”[mm]”);
model.param().set(“r”, editr.getText()+”[mm]”);
2
فایل را ذخیره کنید و برنامه را دوباره شروع کنید.
3
سعی کنید پارامتر H را مثلا به 200 تغییر دهید و دکمه حل را فشار دهید .
4
هندسه مدل جدید و نتایج شبیه سازی جدید نمایش داده می شود.