java求助:swt中如何隐藏顶部菜单
swt中一般控件都有setVisible方法控制隐藏和现实,而窗体顶部菜单用了MenuItem这个控件,却没有setVisible方法,请问如何实现隐藏?...
swt中 一般控件都有setVisible方法控制隐藏和现实,而窗体顶部菜单用了MenuItem这个控件,却没有setVisible方法,请问如何实现隐藏?
展开
2个回答
2013-06-06
展开全部
窗体顶部菜可以在实例化的时候设置,也可以单独设置:Shell s = new Shell(parent,SWT.BORDER); //建立一个有边框但没有标题栏的窗口 Shell dlgShell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
setShellStyle(这里可以任意设置样式);能够设置的样式如下:(以下属性可以多选,但是某些属性相冲突时会导致设置的其他属性失效)
SWT.BORDER //建立一个有边框但没有标题栏的窗口
SWT.CLOSE //建立一个只有关闭按钮的窗口
SWT.MIN //建立一个不能最大化的窗口
SWT.MAX, //建立一个可以最大化最小化的窗口
SWT.NO_TRIM //建立一个没有任何边界和标题栏的窗口
SWT.RESIZE //建立一个可以改变大小的窗口
SWT.TITLE //建立一个没有标题栏图标,没有关闭按钮的窗口
SWT.ON_TOP //建立一个总是在上的窗口,注意:此属性最好与CLOSE、MIN、MAX一起使用。
SWT.TOOL //建立一个类似工具栏的窗口
SWT.APPLICATION_MODAL //建立一个APPLICATION模态窗口
SWT.MODELESS //建立一个非模态窗口
SWT.PRIMARY_MODAL //建立一个PRIMARY模态窗口
SWT.SYSTEM_MODAL //建立一个SYSTEM模态窗口 还有两个快捷属性来建立窗口
SHELL_TRIM //建立一个标准模式的窗口,相当于属性设置为CLOSE | TITLE | MIN | MAX | RESIZE
DIALOG_TRIM //建立一个对话框模式的窗口,相当于属性设置为TITLE | CLOSE | BORDER
setShellStyle(这里可以任意设置样式);能够设置的样式如下:(以下属性可以多选,但是某些属性相冲突时会导致设置的其他属性失效)
SWT.BORDER //建立一个有边框但没有标题栏的窗口
SWT.CLOSE //建立一个只有关闭按钮的窗口
SWT.MIN //建立一个不能最大化的窗口
SWT.MAX, //建立一个可以最大化最小化的窗口
SWT.NO_TRIM //建立一个没有任何边界和标题栏的窗口
SWT.RESIZE //建立一个可以改变大小的窗口
SWT.TITLE //建立一个没有标题栏图标,没有关闭按钮的窗口
SWT.ON_TOP //建立一个总是在上的窗口,注意:此属性最好与CLOSE、MIN、MAX一起使用。
SWT.TOOL //建立一个类似工具栏的窗口
SWT.APPLICATION_MODAL //建立一个APPLICATION模态窗口
SWT.MODELESS //建立一个非模态窗口
SWT.PRIMARY_MODAL //建立一个PRIMARY模态窗口
SWT.SYSTEM_MODAL //建立一个SYSTEM模态窗口 还有两个快捷属性来建立窗口
SHELL_TRIM //建立一个标准模式的窗口,相当于属性设置为CLOSE | TITLE | MIN | MAX | RESIZE
DIALOG_TRIM //建立一个对话框模式的窗口,相当于属性设置为TITLE | CLOSE | BORDER
2013-06-06
展开全部
swt?? 你说的是awt吧? 你用javax.swing包下的 JMenuBar,JMenu ,JMenuItem吧 这些有 setVisible() 方法 我在别的代码里改了下 你要是不明白就看下面代码吧 点“文件”里的“打开” “打开”这个JMenuItem 就会隐藏点“帮助” “打开”这个JMenuItem 就会显示 下面的两个按钮是 显示和隐藏 菜单栏的 import java.awt.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.DocumentEvent;public class FrameTest extends JFrame implements DocumentListener{
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel1 = new JPanel();
JPasswordField jPasswordField1 = new JPasswordField();
JTextField jTextField1 = new JTextField();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenu jMenu2 = new JMenu();
JMenu jMenu3 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton(); public FrameTest() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
} private void jbInit() throws Exception {
jMenu1.setText("文件");
jMenu2.setText("编辑");
jMenu2.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(null, "菜单“编辑”被点击");
}
}); jMenu3.setText("帮助");
jMenu3.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(null, "菜单“帮助”被点击");
jMenuItem1.setVisible(true);
}
}); jMenuItem1.setText("打开");
jMenuItem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "菜单项“打开”被点击");
jMenuItem1.setVisible(false);
}
});
jMenuItem2.setText("退出");
jMenuItem2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "菜单项“退出”被点击,系统关闭");
System.exit(0);
}
});
jLabel1.setText("密码:");
jLabel1.setBounds(new Rectangle(43, 75, 42, 15));
jLabel2.setText("显示密码:");
jLabel2.setBounds(new Rectangle(35, 128, 82, 15));
jButton1.setBounds(new Rectangle(59, 198, 109, 39));
jButton1.setText("隐藏菜单栏");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuBar1.setVisible(false);
}
});
jButton2.setBounds(new Rectangle(214, 198, 109, 39));
jButton2.setText("显示菜单栏");
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuBar1.setVisible(true);
}
}); jPanel1.add(jPasswordField1);
jPanel1.add(jTextField1);
jPanel1.add(jLabel1);
jPanel1.add(jLabel2);
jPanel1.add(jButton1);
jPanel1.add(jButton2);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu3);
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
jTextField1.setText("");
jTextField1.setBounds(new Rectangle(156, 123, 135, 25));
jPasswordField1.setText("");
jPasswordField1.getDocument().addDocumentListener(this);
jPasswordField1.setBounds(new Rectangle(156, 70, 135, 25));
jPanel1.setLayout(null); this.setJMenuBar(jMenuBar1);
this.getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
this.setSize(500, 300);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2); this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
} public void changedUpdate(DocumentEvent e) {
jTextField1.setText(String.valueOf(jPasswordField1.getPassword()));
} public void insertUpdate(DocumentEvent e) {
jTextField1.setText(String.valueOf(jPasswordField1.getPassword()));
} public void removeUpdate(DocumentEvent e) {
jTextField1.setText(String.valueOf(jPasswordField1.getPassword()));
}
public static void main(String[] args) {
new FrameTest();
}
}
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.DocumentEvent;public class FrameTest extends JFrame implements DocumentListener{
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel1 = new JPanel();
JPasswordField jPasswordField1 = new JPasswordField();
JTextField jTextField1 = new JTextField();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenu jMenu2 = new JMenu();
JMenu jMenu3 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton(); public FrameTest() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
} private void jbInit() throws Exception {
jMenu1.setText("文件");
jMenu2.setText("编辑");
jMenu2.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(null, "菜单“编辑”被点击");
}
}); jMenu3.setText("帮助");
jMenu3.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(null, "菜单“帮助”被点击");
jMenuItem1.setVisible(true);
}
}); jMenuItem1.setText("打开");
jMenuItem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "菜单项“打开”被点击");
jMenuItem1.setVisible(false);
}
});
jMenuItem2.setText("退出");
jMenuItem2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "菜单项“退出”被点击,系统关闭");
System.exit(0);
}
});
jLabel1.setText("密码:");
jLabel1.setBounds(new Rectangle(43, 75, 42, 15));
jLabel2.setText("显示密码:");
jLabel2.setBounds(new Rectangle(35, 128, 82, 15));
jButton1.setBounds(new Rectangle(59, 198, 109, 39));
jButton1.setText("隐藏菜单栏");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuBar1.setVisible(false);
}
});
jButton2.setBounds(new Rectangle(214, 198, 109, 39));
jButton2.setText("显示菜单栏");
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuBar1.setVisible(true);
}
}); jPanel1.add(jPasswordField1);
jPanel1.add(jTextField1);
jPanel1.add(jLabel1);
jPanel1.add(jLabel2);
jPanel1.add(jButton1);
jPanel1.add(jButton2);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu3);
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
jTextField1.setText("");
jTextField1.setBounds(new Rectangle(156, 123, 135, 25));
jPasswordField1.setText("");
jPasswordField1.getDocument().addDocumentListener(this);
jPasswordField1.setBounds(new Rectangle(156, 70, 135, 25));
jPanel1.setLayout(null); this.setJMenuBar(jMenuBar1);
this.getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
this.setSize(500, 300);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2); this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
} public void changedUpdate(DocumentEvent e) {
jTextField1.setText(String.valueOf(jPasswordField1.getPassword()));
} public void insertUpdate(DocumentEvent e) {
jTextField1.setText(String.valueOf(jPasswordField1.getPassword()));
} public void removeUpdate(DocumentEvent e) {
jTextField1.setText(String.valueOf(jPasswordField1.getPassword()));
}
public static void main(String[] args) {
new FrameTest();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询