如何使Jlabel更新并正确显示?

时间:2019-05-22 17:39:38

标签: java jframe jpanel jlabel

我创建了一个JFrame弹出窗口,显示完成加载的项目数量。 在notepad ++(由插件运行cmd命令)中运行时,它运行良好,但是当使用.bat与cmd一起运行时,JFrame却一无所有。

public class A extends B{

public static void main(String[ ] args) {
    a();
}

protected static void a(){
    //- Frame
    JFrame frame_loading = new JFrame("Loading");
    frame_loading.setSize(250, 100);
    frame_loading.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame_loading.setLayout(new BorderLayout());
    frame_loading.setLocationRelativeTo(null);      // Center in screen

    //- Text
    JLabel label_loading = new JLabel("        Loading... ");
    label_loading.setFont(new Font("Tahoma", 0, 15));
    frame_loading.add(label_loading, BorderLayout.WEST);

    //- Text
    JLabel label_number = new JLabel();
    label_number.setFont(new Font("Tahoma", 0, 15));
    frame_loading.add(label_number, BorderLayout.CENTER);

    frame_loading.setVisible(true);

    for(...){
        label_number.setText(Integer.toString(i + 1));
    }

  frame_loading.dispose();
  }
}

它在.bat cmd中确实以某种方式工作了很长时间(第二次运行时一次),但是除了使用记事本++之外,我再也无法正常工作了

我已经厌倦了添加ContentPane,JPanel,重新粉刷,打包,但是没有运气。

JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());

//- ContentPane
Container pane = frame_loading.getContentPane();
pane.setLayout(new BorderLayout());

frame_loading.add(panel);
frame_loading.pack();

它应该显示'Loading ...(int)',

0 个答案:

没有答案