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

View Categories

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

2 min read

تنظیم ورودی ها از رابط کاربری گرافیکی به مدل
برای افزودن مقداری پویایی بیشتر به برنامه، روشی برای وارد کردن پارامترها به مدل اضافه کنید و یک دکمه حل ایجاد کنید.
داده های ورودی توسط فیلدهای سمت راست پنجره ارائه می شود.
این فیلدها را به بالای تعریف کلاس کلاس 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
هندسه مدل جدید و نتایج شبیه سازی جدید نمایش داده می شود.