📄 groupgui.java
字号:
public void createmodifyframe()
{
final JFrame modifyframe=new JFrame("修改组员信息");
JPanel modifypanel=new JPanel();
modifypanel.setLayout(new FlowLayout());
JLabel label=new JLabel("需修改的组员:");
final JTextField text=new JTextField(7);
modifypanel.add(label);
modifypanel.add(text);
JLabel jlbl1=new JLabel(" Id ");
final JTextField jtext1=new JTextField(10);
modifypanel.add(jlbl1);
modifypanel.add(jtext1);
JLabel jlbl2=new JLabel(" Name");
final JTextField jtext2=new JTextField(10);
modifypanel.add(jlbl2);
modifypanel.add(jtext2);
JLabel jlbl3=new JLabel(" Sex ");
final JTextField jtext3=new JTextField(10);
modifypanel.add(jlbl3);
modifypanel.add(jtext3);
JButton confirm=new JButton("确定");
confirm.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
group = new GroupDOMParser(filename);
smember=text.getText();
sid=jtext1.getText();
sname=jtext2.getText();
ssex=jtext3.getText();
group.modifymember(newdoc,smember,sid,sname,ssex);
newdoc=group.document;
group.traverse(group.document);
final DefaultTreeModel treemodel=new DefaultTreeModel(group.rootNode);
final JTree tree=new JTree(treemodel);
scrollpane2.setViewportView(tree);
modifyframe.dispose();
}
});
JButton cancel=new JButton("取消");
cancel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
modifyframe.dispose();
}
});
modifypanel.add(confirm);
modifypanel.add(cancel);
modifyframe.getContentPane().add(modifypanel);
modifyframe.setSize(new Dimension(210,180));
modifyframe.setLocation(320,200);
modifyframe.setVisible(true);
modifyframe.setResizable(false);
}
public void button_actionPerformed(ActionEvent e)
{
try{
String s=e.getActionCommand(); //取当前按键值
if(s.equals("退出"))
System.exit(0);
if(s.equals("打开xml文件"))
{
xmlArea.setText("");
FileDialog dialog1=new FileDialog(this);
dialog1.setLocation(320,200);
dialog1.setVisible(true);
jLabel1.setText(dialog1.getFile());
String input=dialog1.getDirectory()+dialog1.getFile();
filename=input;
File str=new File(input);
FileInputStream bf=new FileInputStream(str); //创建文件输入流
BufferedReader br=new BufferedReader(new InputStreamReader(bf));//以文件输入流建立缓冲区
String line="";//初始字符串line为空串
while((line=br.readLine())!=null) //若串不为空则输出
xmlArea.append(line+"\n\r");
}
if(s.equals("树型输出"))
{
if(jLabel1.getText().equals(" 显示XML文件:")!=true)
{
treeArea.setText("");
group = new GroupDOMParser(filename);
newdoc=group.document;
group.traverse(group.document);
final DefaultTreeModel treemodel=new DefaultTreeModel(group.rootNode);
final JTree tree=new JTree(treemodel);
scrollpane2.setViewportView(tree);
}
else
treeArea.setText("请先打开一个xml文件");
}
if(s.equals("添加"))
{
if(jLabel1.getText().equals(" 显示XML文件:")!=true)
{
createaddframe();
}
else
treeArea.setText("请先打开一个xml文件");
}
if(s.equals("写回xml"))
{
int i,len;
char[] WordList=new char[1000]; //定义字符串数组
if(jLabel1.getText().equals(" 显示XML文件:")!=true)
{
group = new GroupDOMParser(filename);
FileDialog dialog1=new FileDialog(this);
dialog1.setMode(dialog1.SAVE);
dialog1.setLocation(320,200);
dialog1.setVisible(true);
group.WriteToXml(newdoc,dialog1.getFile());
String input=dialog1.getDirectory()+dialog1.getFile();
File str=new File(input);
FileReader br=new FileReader(str);
br.read(WordList);
i=WordList.length-1;
while(WordList[i]!='p')
{
i--;
}
len=i+3;
String sa=new String(WordList);
String sb=sa.replaceFirst("UTF-8","GB2312");
String sc=sb.substring(0,39);
sc=sc+"\n"+"<!DOCTYPE JavaGroup SYSTEM \"group.dtd\">"+sb.substring(40,len);
// String sub=sb.substring(0,len);
FileWriter to=new FileWriter(str); //以文件创建字符流对象
to.write(sc);//字符串写入流
to.close(); //关闭流
}
else
treeArea.setText("请先打开一个xml文件");
}
if(s.equals("删除"))
{
if(jLabel1.getText().equals(" 显示XML文件:")!=true)
{
createdelframe();
}
else
treeArea.setText("请先打开一个xml文件");
}
if(s.equals("修改"))
{
if(jLabel1.getText().equals(" 显示XML文件:")!=true)
{
createmodifyframe();
}
else
treeArea.setText("请先打开一个xml文件");
}
if(s.equals("使用说明"))
{
final JFrame helpframe=new JFrame("使用说明");
JScrollPane scrollpane;
JTextArea helpArea=new JTextArea(12,26); //创建文本输入区
helpArea.setText(" 1.首先,在菜单中点击 ' 打开 ' ,打开一个xml文件,"+"\n"+" ' 树型输出 ' 可以在右边的面板中输出树型结构。"+"\n\n"+" 2、左边面板下方和菜单中有三个按钮:添加,删除"+"\n"+" 与修改。"+"\n\n");
helpArea.setText(helpArea.getText()+" 3、单击 ' 添加 ' ,在弹出的窗体中写入新添加的组"+"\n"+" 员名及新的学号,姓名,性别信息,组员名不能"+"\n"+" 为数字,单击确定,则组员信息被修改,Dom和"+"\n"+" 主面板右边的树型结构相应更新。"+"\n\n");
helpArea.setText(helpArea.getText()+" 4、单击 ' 删除 ' ,在弹出的窗体中输入需删除的组"+"\n"+" 员名,组员名不能为数字,如"+"\n"+" ' member1 ' ,单击确定,则组员被删除,Dom和"+"\n"+" 主面板右边的树型结构相应更新。"+"\n\n");
helpArea.setText(helpArea.getText()+" 5、单击 ' 修改 ' ,在弹出的窗体中输入需修改的组"+"\n"+" 员名及新的学号,姓名,性别信息,组员名不能"+"\n"+" 为数字,单击确定,则组员信息被修改,Dom和"+"\n"+" 主面板右边的树型结构相应更新。"+"\n\n");
helpArea.setText(helpArea.getText()+" 6、修改完成后,若想储存修改结果,则单击菜单中"+"\n"+" 的 ' 写回xml ',选择一个文件名或输入新的文件"+"\n"+" 名,则可以把修改后的信息写入新的xml。"+"\n");
helpArea.setEditable(false);
JButton return1=new JButton("退出");
return1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
helpframe.dispose();
}
});
JPanel helppanel=new JPanel();
helppanel.add(scrollpane=new JScrollPane(helpArea)); //把文本输入区添加到可滚动窗格
helppanel.add(return1);
helpframe.getContentPane().add(helppanel);
helpframe.setSize(new Dimension(310,300));
helpframe.setLocation(320,200);
helpframe.setVisible(true);
helpframe.setResizable(false);
}
}catch(IOException str){;}
}
}
class test
{
public static void main(String[] args)
{
groupGUI gui=new groupGUI();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -