没事就练练。。。把代码和结果都贴贴。都是很简单的东西。。。
- package ch10;
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileReader;
- import java.io.IOException;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JScrollPane;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- public class Ch10AllKey {
- public static void main(String[] args) {
- new AllKeyUI();
- }
- }
- class AllKeyUI implements ActionListener{
- private JButton jb1,jb2,jb4;
- private JFrame jf;
- public AllKeyUI(){
- jf=new JFrame("第十章答案示例集");
- jf.setBounds(200,200,600,100);
- jf.setVisible(true);
- jb1=new JButton("第一题示例");
- jb2=new JButton("第二题示例");
- jb4=new JButton("第四题示例");
- jb1.addActionListener(this);
- jb2.addActionListener(this);
- jb4.addActionListener(this);
- jf.setLayout(new FlowLayout());
- jf.add(jb1);
- jf.add(jb2);
- jf.add(jb4);
- jf.validate();
- jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void actionPerformed(ActionEvent e) {
- if(e.getSource()==jb1){
- new Key01();
- }else if(e.getSource()==jb2){
- new Key02();
- }else if(e.getSource()==jb4){
- new Key04();
- }
- }
- }
- //1.编写一个应用程序,在应用程序中有一个按钮和一个文本框,当单击按钮时,文本框
- //显示按钮的名字。
- class Key01{
- private JFrame jf;
- private JButton jb;
- private JTextField jt;
- //构造函数,初始化界面。
- public Key01(){
- jf=new JFrame("第十章第一题");
- jf.setBounds(200,200,400,100);
- jf.setVisible(true);
- jf.setLayout(new FlowLayout());
- jt=new JTextField("");
- jt.setPreferredSize(new Dimension(100,30));
- jb=new JButton("我是按钮");
- jb.addActionListener(new ActionListener(){ //单击在文本框显示按钮的名字。
- public void actionPerformed(ActionEvent e1){
- jt.setText(jb.getText());
- }
- });
- jf.add(jt);
- jf.add(jb);
- jf.validate();
- //jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- }
- }
- //2.编写一个有两个文本框和一个按钮的应用程序,在一个文本框输入一个字符串按回车键或单击按钮,
- //另一个文本框都是显示字符串中每个字符在Unicode表中的顺序。
- class Key02 implements ActionListener{
- private JFrame jf;
- private JButton jb;
- private JTextField jt1,jt2;
- //构造函数,初始化界面。
- public Key02() {
- jf=new JFrame("第十章第二题");
- jf.setBounds(200,200,800,110);
- jf.setVisible(true);
- jf.setLayout(new FlowLayout());
- jt1=new JTextField("");
- jt1.setPreferredSize(new Dimension(150,30));
- jt2=new JTextField("");
- jt2.setPreferredSize(new Dimension(600,30));
- jb=new JButton("测试");
- /*jb.addActionListener(new ActionListener(){ //单击在文本框显示按钮的名字。
- public void actionPerformed(ActionEvent e1){
- char[] chars=jt1.getText().trim().toCharArray();
- String result="";
- for(int i=0;i<chars.length;i++){
- String temp=""+(int)chars[i]+" ";
- result=result.concat(temp);
- }
- if(!result.equals("")){
- System.out.println(result);
- jt2.setText(result);
- }
- }
- }); */
- jb.addActionListener(this);
- jt1.addActionListener(this);
- jf.add(jt1);
- jf.add(jt2);
- jf.add(jb);
- jf.validate();
- //jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- }
- public void actionPerformed(ActionEvent e1){
- if(e1.getSource()==jb||e1.getSource()==jt1){
- char[] chars=jt1.getText().trim().toCharArray();
- String result="";
- for(int i=0;i<chars.length;i++){
- String temp=""+(int)chars[i]+" ";
- result=result.concat(temp);
- }
- if(!result.equals("")){
- System.out.println(result);
- jt2.setText(result);
- }
- }
- }
- }
- //4.编写一个应用程序,要求有一个含有菜单的窗口,在窗口中有文本区组建。菜单有“打开文件”的菜单项,
- //当单击该菜单项时,使用输入流将一个名字为“hello.txt”文件的内容读入到文本中。
- class Key04 implements ActionListener{
- private JMenuBar menuBar;
- private JMenu menu;
- private JMenuItem menuItem;
- private JFrame jf;
- private JTextArea textArea;
- public Key04(){
- jf=new JFrame("第十章第4题");
- jf.setBounds(200,200,400,450);
- jf.setVisible(true);
- menuBar=new JMenuBar();
- menu=new JMenu("编辑");
- menuItem=new JMenuItem("打开文件");
- menuItem.addActionListener(this);
- menu.add(menuItem);
- menuBar.add(menu);
- jf.setJMenuBar(menuBar);
- textArea=new JTextArea();
- jf.add(new JScrollPane(textArea),BorderLayout.CENTER);
- jf.validate();
- //jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- }
- public void actionPerformed(ActionEvent e) {
- File readfile=new File("hello.txt");
- textArea.setText(null);
- try {
- FileReader fileReader=new FileReader(readfile);
- BufferedReader br=new BufferedReader(fileReader);
- String s="";
- int i=0;//如果是第一行
- while((s=br.readLine())!=null){
- if(i==0){
- textArea.append(s);
- i=1;
- }else{
- textArea.append("/n"+s);
- }
- }
- fileReader.close();
- br.close();
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
- } catch (IOException e2) {
- e2.printStackTrace();
- }
- }
- }