📄 window.java
字号:
package expertSystem.presentation;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.AbstractTableModel;
import expertSystem.inferenceMachine.InterenceMachine;
import expertSystem.knowledgeBase.Fact;
public class Window extends JFrame{
private static final long serialVersionUID = 1L;
public static InterenceMachine machine;
public static JTextArea systemText;
public static JTextField baseNameText;
public static JTextField baseRuleNumberText;
public static JTextField baseFactNumberText;
public static String knowledgeBasefileName;
public static JTabbedPane tabs;
public Window(final InterenceMachine machine){
this.machine = machine;
final Container c = getContentPane();
c.setLayout(null);
systemText = new JTextArea("");
systemText.setFont(new Font("Arial",0,15));
JScrollPane systemTextWindow = new JScrollPane(systemText);
systemTextWindow.setBounds(10, 10, 600, 520);
systemTextWindow.setBorder(BorderFactory.createLineBorder(Color.gray));
tabs= new JTabbedPane();
tabs.setTabPlacement(JTabbedPane.TOP);
tabs.setBounds(10, 10, 900, 520);
tabs.setBorder(BorderFactory.createLineBorder(Color.gray));
c.add(tabs);
setTitle("Expert System");
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
setLocation(screenSize.width/2-550, screenSize.height/2-300);
setSize(1100,600);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
JMenu system = new JMenu("Machine");
JMenuItem startForward = new JMenuItem(new Operation.StartForward());
system.add(startForward);
JMenuItem startBackward = new JMenuItem(new Operation.StartBackward());
system.add(startBackward);
JMenuItem exit = new JMenuItem(new Operation.Exit(this));
system.add(exit);
JMenu base = new JMenu("Base");
JMenuItem choose = new JMenuItem(new Operation.CheckFile());
base.add(choose);
JMenuItem load = new JMenuItem(new Operation.LoadBase());
base.add(load);
JMenu help = new JMenu("Help");
JMenuItem info = new JMenuItem(new Operation.Info());
help.add(info);
menuBar.add(system);
menuBar.add(base);
menuBar.add(help);
setJMenuBar(menuBar);
JLabel baseLabel = new JLabel("Knowladge Base");
baseLabel.setBounds(925, 10, 150, 40);
c.add(baseLabel);
baseNameText = new JTextField("");
baseNameText.setBounds(922, 45, 150, 20);
baseNameText.setBorder(BorderFactory.createLineBorder(Color.gray));
baseNameText.setFont(new Font("TimesRoman",1,15));
c.add(baseNameText);
JLabel baseRuleNumberLabel = new JLabel("Number of Facts");
baseRuleNumberLabel.setBounds(925, 60, 150, 40);
c.add(baseRuleNumberLabel);
baseRuleNumberText = new JTextField("");
baseRuleNumberText.setBounds(922, 145, 50, 20);
baseRuleNumberText.setBorder(BorderFactory.createLineBorder(Color.gray));
baseRuleNumberText.setFont(new Font("TimesRoman",1,15));
c.add(baseRuleNumberText);
JLabel baseFactNumberLabel = new JLabel("Number of Rules");
baseFactNumberLabel.setBounds(925, 110, 150, 40);
c.add(baseFactNumberLabel);
baseFactNumberText = new JTextField("");
baseFactNumberText.setBounds(922, 90, 50, 20);
baseFactNumberText.setBorder(BorderFactory.createLineBorder(Color.gray));
baseFactNumberText.setFont(new Font("TimesRoman",1,15));
c.add(baseFactNumberText);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
Object[] options = {"Yes", "No"};
/*
int n = JOptionPane.showOptionDialog(null,
"Do you want to leave program?",
"Exit",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
options,
options[1]);
if(n==1)return;*/
dispose();
}}
);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -