当前位置: 代码迷 >> Java相关 >> 高声求教,已经接近崩溃的边沿了
  详细解决方案

高声求教,已经接近崩溃的边沿了

热度:69   发布时间:2016-04-22 21:02:13.0
大声求教,已经接近崩溃的边沿了
求怎么实现,我点击JMenuItem mt = new JMenuItem("显示代码");
     就能将我的D:\\java\\Test1\\45678.txt"这里面的文件显示在JScrollPane jsp = new JScrollPane();  这个滚动文本中!
    我就差事件监听没有实现,求哪位大神,大哥,帮帮忙
      新手,暑假自学中! 求指教  


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.event.*;

public class TestIo {
public static void main(String args[]) {
String s1 = null;
JFrame f = new JFrame("Java 数据结构");
JMenuBar mb = new JMenuBar();   //菜单栏的实现
JMenu mt = new JMenu("堆栈");
JMenuItem bt = new JMenuItem("显示代码");
mt.add(bt);
JMenu ml = new JMenu("队列");
JMenu mp = new JMenu("排序");
JMenuItem mpc = new JMenuItem("插入排序");   JMenuItem mpm = new JMenuItem("冒泡排序");
JMenuItem mpx = new JMenuItem("选择排序");
JMenu mc = new JMenu("查找");
JMenuItem mcs = new JMenuItem("顺序查找");   JMenuItem mce = new JMenuItem("二分查找");
JMenuItem mcsy = new JMenuItem("索引查找");
JMenu md = new JMenu("递归算法");
JMenuItem mdh = new JMenuItem("汉诺塔");  JMenuItem mdf = new JMenuItem("fibonacci 数列");
JMenuItem mdp9 = new JMenuItem("Paga153 6-9");  JMenuItem mdp10 = new JMenuItem("Paga153 6-10");
JMenuItem mdp11 = new JMenuItem("Paga153 6-11"); JMenuItem mdp12 = new JMenuItem("Paga153 6-12");

bt.addActionListener(new Monitor());

f.setJMenuBar(mb);     //为窗口添加菜单栏
//把对应的菜单弹出窗口添加到菜单栏中
mb.add(mt);  mb.add(ml); mb.add(mp); mb.add(mc); mb.add(md);
//设置排序菜单栏
mp.add(mpc); mp.add(mpm); mp.add(mpx);
//设置查找排序菜单栏
mc.add(mcs); mc.add(mce); mc.add(mcsy);
//设置递归算法菜单栏
md.add(mdh); md.add(mdf); md.addSeparator();
md.add(mdp9); md.add(mdp10); md.add(mdp11); md.add(mdp12);

JLabel mq = new JLabel("代码显示区:");    //创建一个标签,标识为:代码显示区
mq.setBounds(10,20,50,30);                //设置标签的大小及显示位置
                     //申明一个文本文件



JScrollPane jsp = new JScrollPane(txt);  //将txt文本添加到jsp
jsp.setBounds(70,25,300,600);               //设置滚动面板的位置及大小
f.add(jsp);                             //将滚动面板添加到窗口中
f.add(mq);
f.setSize(650,700);           //设置窗口的大小
f.setLocationRelativeTo(null);        //设置窗口居中出现
f.setVisible(true);
}

}

class Monitor implements ActionListener {  
public String s1;
JTextArea txt = null;
public void actionPerformed(ActionEvent e) {
System.out.println("asdfasd");
try {
BufferedReader br = new BufferedReader(new FileReader("D:\\java\\Test1\\45678.txt"));        //读取字符流
String s = null;
while((s = br.readLine()) != null) {        //一行一行的读取br的文件
s1 = s1 + s +"\n";
}
      br.close();
} catch (IOException e1) {
e1.printStackTrace();
}
txt = new JTextArea(s1,10,10);     //将s1字符串存入Txt中
}
}

------解决方案--------------------
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class TestIo {

public void test() {
JFrame f = new JFrame("Java 数据结构");
JMenuBar mb = new JMenuBar(); // 菜单栏的实现
JMenu mt = new JMenu("堆栈");
JMenuItem bt = new JMenuItem("显示代码");
mt.add(bt);
JMenu ml = new JMenu("队列");
JMenu mp = new JMenu("排序");
JMenuItem mpc = new JMenuItem("插入排序");
JMenuItem mpm = new JMenuItem("冒泡排序");
JMenuItem mpx = new JMenuItem("选择排序");
JMenu mc = new JMenu("查找");
JMenuItem mcs = new JMenuItem("顺序查找");
  相关解决方案