import java.awt.*;
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class Mypj2 extends JApplet{
Container cp;
ActionListener a1;
int max=0;
JButton btn;
FileDialog d;
JFrame f;
JMenuBar mb;
JMenu m1;
JMenu m2;
JMenu m3;
JMenuItem mi1;
JMenuItem mi2;
JMenuItem mi3;
String fname;
TextArea jt;
public void init()
{ f=new JFrame();
cp=getContentPane();
cp.setLayout(new BorderLayout());
btn=new JButton("打开文件");
btn.addActionListener(a1);
JPanel jp=new JPanel();
jt=new TextArea();
cp.add(jp);
mb = new JMenuBar();
m1 = new JMenu("File");
m2 = new JMenu("Edit");
m3 = new JMenu("Help");
mi1 = new JMenuItem("Save");
mi2 = new JMenuItem("Load");
mi3 = new JMenuItem("Quit");
m1.add(mi1);
m1.add(mi2);
m1.addSeparator();
m1.add(mi3);
mb=new JMenuBar();
mb.setAlignmentX(mb.LEFT_ALIGNMENT);
mb.add(m1);
mb.add(m2);
mb.add(m3);
jp.add(mb,BorderLayout.NORTH);
jp.add(jt);
//mb.setHelpMenu(m3);
//f.setVisible(true);
}
public void start()
{
a1=new ActionListener(){
public void actionPerformed(ActionEvent e){
d= new FileDialog(f,"请打开txt文件");
d.setVisible(true);
fname = d.getDirectory()+d.getFile();
try{
FileInputStream myfile =new FileInputStream(fname);
byte [] buf= new byte[10*1024];
int len=myfile.read(buf);
if(len>max) max=len;
String text=new String(buf,0,len);
btn.setText("文件已打开"+fname);
//jt.append(text);
jt.replaceRange(text,0,max);
myfile.close();
}
catch(Exception ex){
//btn.setText("文件打开出错");
}
}
};
}
}
为什么,不管怎么样,jmenubar里面的jmenu总是居中,有什么办法让他左对齐?
还有一个问题就是textarea把JMenuItem给遮住了,怎么使JMenuItem显示在 textarea的上面呢?
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class Mypj2 extends JApplet{
Container cp;
ActionListener a1;
int max=0;
JButton btn;
FileDialog d;
JFrame f;
JMenuBar mb;
JMenu m1;
JMenu m2;
JMenu m3;
JMenuItem mi1;
JMenuItem mi2;
JMenuItem mi3;
String fname;
TextArea jt;
public void init()
{ f=new JFrame();
cp=getContentPane();
cp.setLayout(new BorderLayout());
btn=new JButton("打开文件");
btn.addActionListener(a1);
JPanel jp=new JPanel();
jt=new TextArea();
cp.add(jp);
mb = new JMenuBar();
m1 = new JMenu("File");
m2 = new JMenu("Edit");
m3 = new JMenu("Help");
mi1 = new JMenuItem("Save");
mi2 = new JMenuItem("Load");
mi3 = new JMenuItem("Quit");
m1.add(mi1);
m1.add(mi2);
m1.addSeparator();
m1.add(mi3);
mb=new JMenuBar();
mb.setAlignmentX(mb.LEFT_ALIGNMENT);
mb.add(m1);
mb.add(m2);
mb.add(m3);
jp.add(mb,BorderLayout.NORTH);
jp.add(jt);
//mb.setHelpMenu(m3);
//f.setVisible(true);
}
public void start()
{
a1=new ActionListener(){
public void actionPerformed(ActionEvent e){
d= new FileDialog(f,"请打开txt文件");
d.setVisible(true);
fname = d.getDirectory()+d.getFile();
try{
FileInputStream myfile =new FileInputStream(fname);
byte [] buf= new byte[10*1024];
int len=myfile.read(buf);
if(len>max) max=len;
String text=new String(buf,0,len);
btn.setText("文件已打开"+fname);
//jt.append(text);
jt.replaceRange(text,0,max);
myfile.close();
}
catch(Exception ex){
//btn.setText("文件打开出错");
}
}
};
}
}
为什么,不管怎么样,jmenubar里面的jmenu总是居中,有什么办法让他左对齐?
还有一个问题就是textarea把JMenuItem给遮住了,怎么使JMenuItem显示在 textarea的上面呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货