前言
今天用swing写了一个小项目,发现idea编写swing项目比起eclipse来说也是方便了不少,
以前只觉得javafx牛逼,现在发现swing也还不错,有了idea内置的可视化编辑加持,对于
写个小图形界面十分好用。下面做简单分享。
快速创建swing项目:
- new->Swing->GUI Form,打开form文件,会得到设计界面,左边为属性栏,
中间是界面呈现,右边是组件栏。 - fieldname为组件在代码中的id,text为显示内容,align属性设置布局方式。
- 设计完成后在类中alt+insert选择FormMain可以生成main函数,但是建议另创建一个函数
存储该代码,在需要时调用。并且在idea中创建的swing项目会跟有一个.form文件,我个人理解
是用来存储界面样式,这样的项目在eclipse中是不能运行的,我尝试过添加form.rt的jar包进eclipse中
也并不能解决问题,所以idea编辑的swing项目还是不要到其他ide中运行比较好。
为组件添加事件:1
2
3
4
5
6close.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
jna.close();
}
});
控制swing窗口大小和弹出位置:1
2frame.setSize(600,500);
frame.setPreferredSize(new Dimension(600,500));
窗口跳转方式:1
2
3
4
5
6if (isSuper==true){
//跳转
frame.dispose();
new superview().back();
}
JList更新数据(用ArrayList list来维护数据):1
back.getShowList().setListData(list);
要使list可滚动可以将其放入滚动面板中。
后记
关于javafx还是swing的问题
javafx比较新,Oracle2008年才推出的,功能比较强大,并且持续更新。swing是比较老的GUI框架,已经停止更新了。
但javafx的问题可能在于参考文档较少,使用的人也不多。虽然运行速度稍快,但swing下功夫也可以做出好看的界面,
如JB。所以我认为时下来说,swing并不算过时。