1、xxx(黑体24),xxx,yyy,zzz,单击此处编辑母版文本样式,单击此处编辑母版标题样式,重要知识点!,它不仅仅是呈现视觉效果,而且强化,单击此处编辑母版标题样式,单击此处编辑母版文本样式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,社团管理系统,社团管理系统,功能简介,设计思路,技术分析,实现,小结,主要内容,修改活动界面,(,普通用户,),功能简介,1,、创建“修改活动信息”对话框,对话框上包括下列控件:,(1),标签控件;,(2),文本域控件;,(3),按钮控件;,2,、在“查询活动信息”对话框中双击某行活动信息后,弹出“
2、修改活动信息”对话框,显示待修改的活动信息。,在工程的,com.ruanko.activity.view,包中,创建,EditActDialog,类,这个类继承于,javax.swing.JDialog,,用于显示某用户想修改的相关活动信息,并且用户可以在对话框中修改该活动信息。,EditActDialog,实现效果如下图所示:,设计思路,1,、,Swing,技术,(1)JDialog,类、,JPanel,类、,JLabel,类、,JTextField,类、,JButton,类的应用;,(2),边框布局,(BorderLayout),、网格布局(,GridLayout,)和流式布局,(Flow
3、Layout),;,(3),面板嵌套以及将组件添加到面板;,(4),设置文本输入框的值。,2,、表格双击事件处理,3,、匿名内部类,技术分析,编程实践,1,、如何创建“修改活动信息”对话框?,2,、如何添加表格的鼠标双击事件?,3,、如何在两个对话框间传递参数?,实现,在,“实现查询活动,(,普通用户,),”,的迭代基础上进行迭代开发:,步骤一、创建,EditActDialog,类并设置属性;,步骤二、添加面板并设置布局;,步骤三、给面板添加控件并设置布局;,步骤四、设置活动信息输入框的值。,实现:创建,EditActDialog,类并设置属性,在工程的,com.ruanko.activity
4、view,包中,创建,EditActDialog,类,此类继承于,javax.swing.JDialog,,通过构造方法来实现自定义窗口。,1,、在构造方法中设置窗口的位置、大小和其他配置,public class EditActDialog extends JDialog,private int userId;/,用户,id,public EditActDialog(Activity activity,int userId),/,设置窗口标题,this.setTitle(,新增活动,);,/,获得屏幕大小,Dimension screenSize=Toolkit.getDefaultToo
5、lkit().getScreenSize();,/,设置窗口位置居中以及窗口大小,this.setBounds(screenSize.width-480)/2,(screenSize.height-270)/2,480,270);,/,给用户,id,赋值,this.userId=userId;,实现:创建,EditActDialog,类并设置属性,2,、在,QueryActDialog,类中添加表格的双击事件,在事件监听器中添加弹出“修改活动信息”对话框。,public class QueryActDialog extends JDialog,private JScrollPane getRe
6、sultPanel(),resultTable.addMouseListener(new MouseAdapter(),/,鼠标点击事件,public void mouseClicked(MouseEvent e),if(e.getClickCount()=2),int row=(JTable)e.getSource().rowAtPoint(e.getPoint();/,获得行位置,Activity activity=activities.get(row);/,获取该行,activity,实体,EditActDialog editActDialog=new EditActDialog(act
7、ivity,userId);,editActDialog.setModal(true);,editActDialog.setVisible(true);,/,处理双击表格事件,);,实现:创建,EditActDialog,类并设置属性,3,、运行调试,实现:添加面板并设置布局,1,、在构造方法中添加面板并设置布局,public class EditActDialog extends JDialog,public EditActDialog(Activity activity,int userId),getContentPane().setLayout(new BorderLayout();/,
8、设置窗口布局方式,getContentPane().add(getContentPanel(),BorderLayout.CENTER);,getContentPane().add(getButtonPanel(),BorderLayout.SOUTH);,private JPanel getContentPanel(),JPanel contentPanel=new JPanel();,contentPanel.setLayout(new GridLayout(6,2);/,设置布局方式,return contentPanel;,private JPanel getButtonPanel()
9、JPanel buttonPanel=new JPanel();,buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT);/,设置布局方式,return buttonPanel;,实现:给面板添加控件并设置布局,1,、添加窗口的用户界面组件,在主内容面板实例化活动信息输入框,public class EditActDialog extends JDialog,private JTextField idText;/,活动序号,private JTextField titleText;/,名称输入框,private JTextField co
10、ntentText;/,活动概要输入框,声明其他变量,private JPanel getContentPanel(),/,实例化输入框变量,并设置长度,idText=new JTextField(10);,titleText=new JTextField(10);,contentText=new JTextField(10);,实例化其他输入框,idText.setEditable(false);/,设置,Id,输入框为不可编辑,实现:给面板添加控件并设置布局,2,、添加窗口的用户界面组件,在主内容面板添加标签和输入框,public class EditActDialog extends J
11、Dialog,private JPanel getContentPanel(),contentPanel.add(getRowPanel(,活动编号,idText);,contentPanel.add(getRowPanel(,活动名称,titleText);,contentPanel.add(getRowPanel(,活动概要,contentText);,将其它输入框添加到面板上,private JPanel getRowPanel(String labelName,JTextField textField),JPanel rowPanel=new JPanel();/,创建行布局面板,ro
12、wPanel.add(new JLabel(labelName);/,添加标签,rowPanel.add(textField);/,添加输入框,return rowPanel;,实现:给面板添加控件并设置布局,3,、添加窗口的用户界面组件,在按钮面板添加按钮组件,public class EditActDialog extends JDialog,private JButton btnChange;/,修改按钮,private JButton btnCancel;/,取消按钮,private JPanel getButtonPanel(),btnChange=new JButton(,修改,)
13、btnCancel=new JButton(,取消,);,buttonPanel.add(btnChange);,buttonPanel.add(btnCancel);,实现:给面板添加控件并设置布局,4,、运行调试,实现:设置活动信息输入框的值,1,、在构造方法中添加设置对话框的值,供用户查看并修改活动信息的值。,public class EditActDialog extends JDialog,public EditActDialog(Activity activity,int userId),/,设置输入框中的内容,setTextField(activity);,private v
14、oid setTextField(Activity activity),idText.setText(activity.getId()+);,titleText.setText(activity.getTitle();,contentText.setText(activity.getContent();,设置其他输入框的值,实现:设置活动信息输入框的值,2,、运行调试,小结,1,、,Swing,技术,(1)JDialog,类的创建和常用的设置:设置对话框的标题、大小和位置等;,(2)JPanel,类的使用;,(3)JLabel,、,JTextField,和,JButton,等组件的使用;,(4),常见布局方式的使用。,2,、匿名内部类的使用,3,、,Java Swing,鼠标双击响应事件,软酷网 卓越路,修改活动界面,(,普通用户,),、,Swing,技术、内部类,






