Lab3经验小结:JFrame相关用法tips
在lab3的完成过程中,花费了比较多的时间在客户端中设计UI。将一些比较基础的用法总结了一下以便日后查阅。
- 创建空窗体
JFrame mainFrame = new JFrame("ActivityCalendar");
创建一个名为“ActivityCalendar”的空窗体,缺省时无标题。
- 单击关闭图标的处理
mainFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
单击右上角关闭图标后会执行括号内的措施。选项如下:
DO_NOTHING_ON_CLOSE(什么也不做)
HIDE_ON_CLOSE (隐藏当前窗口)
DISPOSE_ON_CLOSE (隐藏当前窗口,并释放窗体占有的其他资源)
EXIT_ON_CLOSE (结束窗口所在的应用程序)
- 布局管理器
mainFrame.setLayout(new GridLayout(2, 5));
用来管理某个窗体的布局。上例便是将窗体2(行)*5(列)网格化
- 设置窗口是否可见
mainFrame.setVisible(true);
窗体本身不可见,设置后为可见
- 设置窗体大小
mainFrame.setSize(800, 300);
参数:宽*高
- 在窗体中添加文本:
JPanel jp1=new JPanel();
JLabel jl1=new JLabel("请输入你想删除的会议室");
jp1.add(jl1);
jFrame.add(jp1);
先在容器类jpanel中添加标签组件,然后在窗体中添加jpanel即可。效果图:
- 添加文本框用于客户端与用户间的交互:
JTextField jtf1=new JTextField(10);
括号内的参数为文本框的列数,在窗体中的添加方法与Tip6相同
- 添加按钮并设置监听器:
JButton jb1=new JButton("删除该会议室");
jb1.addActionListener((e)->{
Boolean flag=collection.deleteLocation(jtf1.getText());
if(flag==true) JOptionPane.showMessageDialog(null,"顺利删除","", JOptionPane.PLAIN_MESSAGE);
else JOptionPane.showMessageDialog(null,"失败","", JOptionPane.ERROR_MESSAGE);
});
new JButton括号内的参数是按钮的标题。
jb1.addActionListener((e)->{})的作用是添加监听器。鼠标单击该按钮后,客户端将执行大括号里的内容。也可以用其他方法的方法名代替大括号。
- 设置文本域,并向其中添加内容
JTextArea jtf6=new JTextArea(1,50);
与文本框的最大不同是新增了行数这个参数。上例中1为行数,50为列数。
jtf6.setText(resourcesStrings);
setText方法可在文本域中加入文本。
当需要输入的文本比较多的时候可以与滚动条配套使用:
JScrollPane scrollpane = new JScrollPane(jtf6);
效果:
- 弹窗,弹框
JOptionPane.showMessageDialog(Component parentComponent, Object message, String title, int messageType)
该方法用来弹出窗口提示信息。
其中第一个参数确定Frame在其中显示的对话框; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame。
第二个参数是弹窗中的message,即你想给用户看的信息。
第三个参数是修改弹窗的标题
第四个参数是设置弹窗的图标。
比如:
JOptionPane.showMessageDialog(null,"顺利添加","", JOptionPane.PLAIN_MESSAGE);
效果:
JOptionPane.showMessageDialog(null,"该资源已存在","", JOptionPane.ERROR_MESSAGE);
效果:
暂时就想到这些。想到了再补充吧。