JAVA绘制面板,通过输入的路径在面板显示内容

mac2024-06-06  58

代码如下:

package java2; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class Test2_7_1 extends JFrame { JLabel label; JButton btnOK; JTextField textfield; JPanel p; TextArea area; File file = null; int i=0; public Test2_7_1() { p = new JPanel(); // 建立一个面板 this.getContentPane().add(p);// 把面板添加到框架 p.add(area = new TextArea()); p.add(new JLabel("Filename"));// 把一个文本按钮添加到面板 textfield = new JTextField(20); p.add(textfield); // 把一个文本框添加到面板 p.add(btnOK = new JButton("View"));// 把一个确定按钮添加到面板 btnOK.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(i==1){ area.setText(null); i=0; } i++; String str=textfield.getText(); file=new File(str); try { readFile(area); } catch (Exception ex) { } } }); } private void readFile(TextArea area) throws Exception { if (file != null) { FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); try { while (br.ready()) { area.setText(area.getText() + br.readLine() + "\r\n"); } } finally { br.close(); fr.close(); } } } public static void main(String[] args) { Test2_7_1 frame = new Test2_7_1(); frame.setSize(480, 250); frame.setTitle("2-7-1"); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }

结果:

最新回复(0)