从服务器读取数据并在jframe gui中显示

时间:2019-04-21 16:16:35

标签: java hl7-fhir

我是使用Java处理 fhir服务器数据的初学者。而我现在正在做的是检索说出患者的信息并显示该信息在Java的jframe gui中。

我没有使用与服务器执行GET,CREATE和UPDATE操作的Java应用程序的经验。有人可以详细说明我需要什么以促进 jframe和服务器之间的交互吗?

我可以在简单的Java类上执行简单的操作,例如查找患者的信息,但是当涉及到在jframe中实现时,我不能只是将我在类中使用的代码扔到 button函数中< / strong>和在标签中显示结果,我可以吗?

我对此进行了谷歌搜索,但是我正在获得有关显示数据库数据的教程,但是与从服务器检索和显示信息无关。希望能得到一些有关我应该拥有的东西和需要使用的工具的指导。

1 个答案:

答案 0 :(得分:0)

我声明我不知道fhir服务器,但是我可以给你一个关于如何使用swing的想法

如果您已经知道如何在服务器上进行操作,那么问题就出在服务位置以及如何构建摆动应用程序。

首先,JFrame用于协调各种场景,因此JFrame通常关联一个或多个交换的面板,然后暂时使用JFrame和Panel。

使用Singleton作为服务位置,我们可以在需要类似JPanel的组件或操作时询问他。

因此,我们创建您的应用程序所需的组件是 -服务位置组件,我们使用一个应用程序概念,在其中声明我们需要的所有内容,并且我们的应用程序包含主要内容。 -一个Jframe,我们用作一个或多个面板的容器 -我们外出呈现患者信息的JPanel -用于在服务器上执行操作的操作

这可能是代码原型

框架

public class Frame extends javax.swing.JFrame {

   private void init(){
    //inti yout component
    setContentPane(App.getInstance().getPannello);

    setLocationRelativeTo(null);
    pack();
    setVisible(true);
   }

}

面板

public class PanelPatient extends JPanel{

    private JButton youButton;

    private void init(){
        //init your component
    }

    private setAction(){
        youButton.setAction(App.getInstance().getActionSelect());
    }

    public void setPatient(Patient patient){
        textFiele.setText(patient.getName());
        //another information
    }
}

动作

public class ActionSelect extends AbstractAction{

    public void actionPerformed(ActionEvent event){
        // your select and get patient to server

        App.getInstance().getPanel().setPatient(patient);
    }
}

单例主白

public class App {

    private static final App SINGLETON = new App();

    public static App getInstance(){
        return SINGLETON;
    }

    private App(){}

    private Frame frame = new Frame();
    private PanelPatient panel = new PanelPatient();
    private Action actionSelect = new ActionSelect();

    public PanelPatient getPanel(){
        return panel;
    }

    public Action getActionSelect(){
        return actionSelect;
    }


    private void init(){

        panel.init();

        frame.init();

    }


    public static void main(String[] args) {
       SwingUtilities.invokeLater(new Runnable{
            SINGLETON.init();
       });
    }
}

希望您能对我的英语不好,但我正在学习