我这个java记事本程序怎么没加上滚动条?
这是我的代码:package进阶.第八章;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;impo...
这是我的代码:
package 进阶.第八章;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class L8_8 extends JFrame{
private static JMenuBar bar;
private static JMenu m1,m2;
private static JMenuItem it1,it2;
private static JTextArea ar;
private static JScrollPane jsp;
private L8_8(){
super("记事本");
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){}
init();
}
private void init(){
bar=new JMenuBar();
m1=new JMenu("文件(F)");
m1.setMnemonic('F');
m2=new JMenu("编辑(E)");
m2.setMnemonic('E');
it1=new JMenuItem("打开(0) Ctrl+0");
it2=new JMenuItem("保存(S) Ctrl+S");
ar=new JTextArea();
ar.setLineWrap(true);
jsp=new JScrollPane(ar);
it1.addActionListener(new Sj());
it2.addActionListener(new Sj());
bar.add(m1); bar.add(m2);
m1.add(it1); m1.add(it2);
this.setJMenuBar(bar);
this.add(jsp);
this.add(ar);
this.setBounds(200, 100, 1050, 700);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setIconImage(new ImageIcon("image/notepad.jpg").getImage());
this.setVisible(true);
}
private class Sj implements ActionListener{
public void actionPerformed(ActionEvent e){
String s=e.getActionCommand();
if(s.equals(e.getSource()==it1)){
try{
//System.out.println("打开");
JFileChooser wjxz=new JFileChooser();
wjxz.setDialogTitle("打开文件");
wjxz.setCurrentDirectory(new File("e:/javaw/Java/src/进阶/第八章"));
wjxz.showOpenDialog(null);
wjxz.setVisible(true);
String wjlj=wjxz.getSelectedFile().getAbsolutePath();
//这行的作用是得到用户选择的全路径
//System.out.println(wjlj);
FileReader fr=null; BufferedReader br=null;
try{
fr=new FileReader(wjlj);
br=new BufferedReader(fr);
String c="",n="";
while((c=br.readLine())!=null){
n+=(c+"\n");
}
ar.setText(n);
}catch(Exception ee){
}finally{
try{
fr.close();
br.close();
}catch(Exception de){
}
}
}catch(Exception e1){}
}else if(s.equals(e.getSource()==it2)){
System.out.println("保存");
}
}
}
public static void main(String[] args){
new L8_8();
}
}
这是程序图片:
想了半天都没想出来 展开
package 进阶.第八章;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class L8_8 extends JFrame{
private static JMenuBar bar;
private static JMenu m1,m2;
private static JMenuItem it1,it2;
private static JTextArea ar;
private static JScrollPane jsp;
private L8_8(){
super("记事本");
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){}
init();
}
private void init(){
bar=new JMenuBar();
m1=new JMenu("文件(F)");
m1.setMnemonic('F');
m2=new JMenu("编辑(E)");
m2.setMnemonic('E');
it1=new JMenuItem("打开(0) Ctrl+0");
it2=new JMenuItem("保存(S) Ctrl+S");
ar=new JTextArea();
ar.setLineWrap(true);
jsp=new JScrollPane(ar);
it1.addActionListener(new Sj());
it2.addActionListener(new Sj());
bar.add(m1); bar.add(m2);
m1.add(it1); m1.add(it2);
this.setJMenuBar(bar);
this.add(jsp);
this.add(ar);
this.setBounds(200, 100, 1050, 700);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setIconImage(new ImageIcon("image/notepad.jpg").getImage());
this.setVisible(true);
}
private class Sj implements ActionListener{
public void actionPerformed(ActionEvent e){
String s=e.getActionCommand();
if(s.equals(e.getSource()==it1)){
try{
//System.out.println("打开");
JFileChooser wjxz=new JFileChooser();
wjxz.setDialogTitle("打开文件");
wjxz.setCurrentDirectory(new File("e:/javaw/Java/src/进阶/第八章"));
wjxz.showOpenDialog(null);
wjxz.setVisible(true);
String wjlj=wjxz.getSelectedFile().getAbsolutePath();
//这行的作用是得到用户选择的全路径
//System.out.println(wjlj);
FileReader fr=null; BufferedReader br=null;
try{
fr=new FileReader(wjlj);
br=new BufferedReader(fr);
String c="",n="";
while((c=br.readLine())!=null){
n+=(c+"\n");
}
ar.setText(n);
}catch(Exception ee){
}finally{
try{
fr.close();
br.close();
}catch(Exception de){
}
}
}catch(Exception e1){}
}else if(s.equals(e.getSource()==it2)){
System.out.println("保存");
}
}
}
public static void main(String[] args){
new L8_8();
}
}
这是程序图片:
想了半天都没想出来 展开
展开全部
你好,滚动条默认是当内容到边界才会出来的,如果想要默认就出现的话就用
jsp = new JScrollPane(ar, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
或者是单独设置,分别设置水平和竖直方向的滚动条显示
jsp = new JScrollPane(ar);
jsp.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
而且你已经把jsp加到窗体上了,就不用再把ar加上去了。
jsp = new JScrollPane(ar, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
或者是单独设置,分别设置水平和竖直方向的滚动条显示
jsp = new JScrollPane(ar);
jsp.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
而且你已经把jsp加到窗体上了,就不用再把ar加上去了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JScrollPane自带就有滚动条
//分别设置水平和垂直滚动条自动出现
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
//分别设置水平和垂直滚动条总是出现
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
//分别设置水平和垂直滚动条总是隐藏
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
//分别设置水平和垂直滚动条自动出现
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
//分别设置水平和垂直滚动条总是出现
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
//分别设置水平和垂直滚动条总是隐藏
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this.add(jsp);
// this.add(ar); 去掉这行
// this.add(ar); 去掉这行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询