我的JFrame类代码如下:
package start;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import start.SysMenu;//这个类是下面自己写的
public class MAIN extends JFrame{
private static final int SPLITWIDTH=5;
JPanel jpleft=new JPanel();
JPanel jpright=new JPanel();
JPanel top =new JPanel();
JPanel bottom=new JPanel();
JSplitPane separate1;
JSplitPane separate2;
JTextArea jtextarea=new JTextArea();
JScrollPane jscrollpane=new JScrollPane(jtextarea);
SysMenu sysmenu=new SysMenu();//实例化SysMenu类
public MAIN(){
super("MyJavaQueryAnalyzer");
init();
}
public void init(){
this.setJMenuBar(sysmenu);//设置系统菜单项
setTopLayout();
separate2=new JSplitPane(JSplitPane.VERTICAL_SPLIT,top,bottom);
separate2.setDividerLocation(250);
separate2.setDividerSize(SPLITWIDTH);
separate1=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jpleft,
separate2);
separate1.setDividerSize(SPLITWIDTH);
separate1.setDividerLocation(150);
setLayout(new BorderLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().add(separate1,BorderLayout.CENTER);
setSize(800,600);
this.setVisible(true);
}
public void setTopLayout(){
top.setLayout(new BorderLayout());
top.add(jscrollpane,BorderLayout.CENTER);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
setDefaultLookAndFeelDecorated(true);
new MAIN();
}}
我的SysMenu类代码如下:package start;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SysMenu extends JMenuBar{
String[] fileitems={
"连接……","断开","新建","打开……","保存","另存为……","打印……","退出"
};
String[] edititems={
"撤消","剪切","复制","黏贴","全选","清除窗口","查找……","重复上一次查找",
"替换……","转到行……",
};
String[] advanceditems={
"将选定的内容设置为大写字母","将选定内容设置为小写字母","增加缩进","减少缩进"
};
char[] fileShortcuts={
'T','D','N','O','S','A','P','X'
};
char[] editShortcuts={
'U','T','C','P','S','L','F','R','E','G','A'
};
JMenu filemenu=new JMenu("文件");
JMenu editmenu=new JMenu("编辑");
JMenu advanced=new JMenu("高级");
public SysMenu(){
init();
}
public void init(){
for(int i=0;i<fileitems.length;i++){
JMenuItem item=new JMenuItem(fileitems[i],fileShortcuts[i]);
filemenu.add(item);
if(fileitems[i].equals("断开")||fileitems[i].equals("另存为……")
||fileitems[i].equals("打印……")){
filemenu.addSeparator();
}
item.setAccelerator(KeyStroke.getKeyStroke(fileShortcuts[i],
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
}
for(int i=0;i<edititems.length;i++){
JMenuItem item=new JMenuItem(edititems[i],editShortcuts[i]);
editmenu.add(item);
if(edititems[i].equals("撤消")||edititems[i].equals("清除窗口")
||edititems[i].equals("替换……")||edititems[i].equals("转到行……")){
editmenu.addSeparator();
}
item.setAccelerator(KeyStroke.getKeyStroke(editShortcuts[i],
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
}
}
}
还请高人指点一下,谢过了先!!!!!希望高手能运行一下我的代码!
package start;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import start.SysMenu;//这个类是下面自己写的
public class MAIN extends JFrame{
private static final int SPLITWIDTH=5;
JPanel jpleft=new JPanel();
JPanel jpright=new JPanel();
JPanel top =new JPanel();
JPanel bottom=new JPanel();
JSplitPane separate1;
JSplitPane separate2;
JTextArea jtextarea=new JTextArea();
JScrollPane jscrollpane=new JScrollPane(jtextarea);
SysMenu sysmenu=new SysMenu();//实例化SysMenu类
public MAIN(){
super("MyJavaQueryAnalyzer");
init();
}
public void init(){
this.setJMenuBar(sysmenu);//设置系统菜单项
setTopLayout();
separate2=new JSplitPane(JSplitPane.VERTICAL_SPLIT,top,bottom);
separate2.setDividerLocation(250);
separate2.setDividerSize(SPLITWIDTH);
separate1=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jpleft,
separate2);
separate1.setDividerSize(SPLITWIDTH);
separate1.setDividerLocation(150);
setLayout(new BorderLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().add(separate1,BorderLayout.CENTER);
setSize(800,600);
this.setVisible(true);
}
public void setTopLayout(){
top.setLayout(new BorderLayout());
top.add(jscrollpane,BorderLayout.CENTER);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
setDefaultLookAndFeelDecorated(true);
new MAIN();
}}
我的SysMenu类代码如下:package start;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SysMenu extends JMenuBar{
String[] fileitems={
"连接……","断开","新建","打开……","保存","另存为……","打印……","退出"
};
String[] edititems={
"撤消","剪切","复制","黏贴","全选","清除窗口","查找……","重复上一次查找",
"替换……","转到行……",
};
String[] advanceditems={
"将选定的内容设置为大写字母","将选定内容设置为小写字母","增加缩进","减少缩进"
};
char[] fileShortcuts={
'T','D','N','O','S','A','P','X'
};
char[] editShortcuts={
'U','T','C','P','S','L','F','R','E','G','A'
};
JMenu filemenu=new JMenu("文件");
JMenu editmenu=new JMenu("编辑");
JMenu advanced=new JMenu("高级");
public SysMenu(){
init();
}
public void init(){
for(int i=0;i<fileitems.length;i++){
JMenuItem item=new JMenuItem(fileitems[i],fileShortcuts[i]);
filemenu.add(item);
if(fileitems[i].equals("断开")||fileitems[i].equals("另存为……")
||fileitems[i].equals("打印……")){
filemenu.addSeparator();
}
item.setAccelerator(KeyStroke.getKeyStroke(fileShortcuts[i],
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
}
for(int i=0;i<edititems.length;i++){
JMenuItem item=new JMenuItem(edititems[i],editShortcuts[i]);
editmenu.add(item);
if(edititems[i].equals("撤消")||edititems[i].equals("清除窗口")
||edititems[i].equals("替换……")||edititems[i].equals("转到行……")){
editmenu.addSeparator();
}
item.setAccelerator(KeyStroke.getKeyStroke(editShortcuts[i],
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
}
}
}
还请高人指点一下,谢过了先!!!!!希望高手能运行一下我的代码!
不然怎么显示
楼上正解,这段代码怪怪的,布局好像也不太对
public SysMenu(){
add(filemenu);
add(editmenu);
add(advanced);
init();
}
package test;import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;public class MainClass extends JFrame {
private static final int SPLITWIDTH = 5; JPanel jpleft = new JPanel(); JPanel jpright = new JPanel(); JPanel top = new JPanel(); JPanel bottom = new JPanel(); JSplitPane separate1; JSplitPane separate2; JTextArea jtextarea = new JTextArea(); JScrollPane jscrollpane = new JScrollPane(jtextarea); SysMenu sysmenu = new SysMenu();// ???SysMenu? public MainClass() {
super("MyJavaQueryAnalyzer");
init();
} public void init() {
this.setJMenuBar(sysmenu);// ???????
setTopLayout();
separate2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, top, bottom);
separate2.setDividerLocation(250);
separate2.setDividerSize(SPLITWIDTH); separate1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jpleft, separate2);
separate1.setDividerSize(SPLITWIDTH);
separate1.setDividerLocation(150); setLayout(new BorderLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().add(separate1, BorderLayout.CENTER);
setSize(800, 600);
this.setVisible(true);
} public void setTopLayout() {
top.setLayout(new BorderLayout());
top.add(jscrollpane, BorderLayout.CENTER);
} public static void main(String[] args) {
// TODO Auto-generated method stub
setDefaultLookAndFeelDecorated(true);
new MainClass();
}}=========================================================
package test;import javax.swing.*;
import java.awt.*;
import java.awt.event.*;/**
*
* @author
*
*/
public class SysMenu extends JMenuBar {
/** File menuitems */
String[] fileitems = { "??……", "??", "??", "??……", "??", "???……", "??……", "??" }; /** Edit menuitems */
String[] edititems = { "??", "??", "??", "??", "??", "????", "??……", "???????", "??……", "???……", }; /** Advanced menuItems */
String[] advanceditems = { "?????????????", "????????????", "????", "????" }; char[] fileShortcuts = { 'T', 'D', 'N', 'O', 'S', 'A', 'P', 'X' }; char[] editShortcuts = { 'U', 'T', 'C', 'P', 'S', 'L', 'F', 'R', 'E', 'G', 'A' }; /** Menus */
JMenu filemenu = new JMenu("??");
JMenu editmenu = new JMenu("??");
JMenu advanced = new JMenu("??"); /**
* Constructor
*
*/
public SysMenu() {
init();
} public void init() {
// Add menus
this.add(filemenu);
this.add(editmenu);
this.add(advanced);
// File menu
for (int i = 0; i < fileitems.length; i++) {
JMenuItem item = new JMenuItem(fileitems[i], fileShortcuts[i]);
filemenu.add(item);
if (fileitems[i].equals("??") || fileitems[i].equals("???……") || fileitems[i].equals("??……")) {
filemenu.addSeparator();
}
item.setAccelerator(KeyStroke.getKeyStroke(fileShortcuts[i], Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
}
// Edit menu
for (int i = 0; i < edititems.length; i++) {
JMenuItem item = new JMenuItem(edititems[i], editShortcuts[i]);
editmenu.add(item);
if (edititems[i].equals("??") || edititems[i].equals("????") || edititems[i].equals("??……") || edititems[i].equals("???……")) {
editmenu.addSeparator();
}
item.setAccelerator(KeyStroke.getKeyStroke(editShortcuts[i], Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
}
}
}
// Add menus
this.add(filemenu);
this.add(editmenu);
this.add(advanced);
....
如果要想在IE上显示的话,有图片会显示不出来.
建议不要混合使用重量级组件和轻量级的组件
看上去是有点怪怪的
提个建议