هدف رابط کاربری گرافیکی ارائه محاسبات مناطق و گشتاورهای اینرسی بر اساس مدل است. این نتایج در پنلی در سمت راست پنل گرافیکی اضافه می شوند.
1 | این فیلدها را به بالای فایل کلاس BeamModelDemo اضافه کنید : |
JTextField editA;
JTextField editIy;
JTextField editIz;
JTextField ویرایشJ;
2 | یک متد rightPanel را در انتهای BeamModelDemo.java اضافه کنید که حاوی خروجی است. برای نمایش نتیجه ، JTextFields را انتخاب کنید . امکان کپی متن از این فیلدها برای استفاده در سایر برنامه ها وجود دارد. |
JPanel خصوصی () rightPanel {
طرح بندی MigLayout = جدید MigLayout(“wrap 2”);
پنل JPanel = جدید JPanel(layout);
JLabel label = new JLabel(“A:”);
panel.add(label);
editA = new JTextField(16);
پانل اضافه کردن ( editA ) ;
label = new JLabel(“Iy:”);
panel.add(label);
editIy = new JTextField(16);
panel.add(editIy);
label = new JLabel(“Iz:”);
panel.add(label);
editIz = new JTextField(16);
panel.add(editIz);
label = new JLabel(“J:”);
panel.add(label);
editJ = new JTextField(16);
panel.add(editJ, “wrap 10px”);
پنل برگشتی؛
}
3 | یک روش کاربردی کوچک برای استخراج داده های عددی از گره های جهانی مورد نیاز است. این متد را بعد از متد rightPanel اضافه کنید : |
رشته خصوصی getScalar(NumericalFeature num) {
double[][] آرایه = num.getData(0);
دو برابر A = آرایه[0][0];
بازگشت Double.toString(A);
}
4 | برای استخراج نتایج عددی از مدل پس از حل شدن، چند خط اضافه کنید و اعداد را در پنجره اصلی نشان دهید. درست بعد از فراخوانی متد اجرا، خطوط زیر را به متد حل اضافه کنید: |
editA.setText(getScalar(model.result().numerical(“glA”)));
editIy.setText(getScalar(model.result().numerical(“glIy”)));
editIz.setText(getScalar(model.result().numerical(“glIz”)));
editJ.setText(getScalar(model.result().numerical(“glJ”)));
5 | کدی را برای تولید rightPanel به روش start درست در زیر اضافه شدن graphicsPanel اضافه کنید: |
panel = rightPanel();
mainPanel.add(panel, BorderLayout.LINE_END);
6 | دوباره برنامه را اجرا کنید. ![]() |