| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 692 人关注过本帖
标题:求助:关于图形用户界面设计
只看楼主 加入收藏
herendagao
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-5-3
结帖率:100%
收藏
 问题点数:0 回复次数:3 
求助:关于图形用户界面设计
请问一下如何使用focusListener(),我知道它有两个方法,可一个组件怎样才算失去焦点,又怎样才算得到焦点呢?比如JtextArea组件,我的程序中它好象在我点击了菜单后失去了焦点,却不能再获得焦点
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class J_Frame extends JFrame
{
private JMenuBar jmb = new JMenuBar();
private JMenuItem MI[][] = {{new JMenuItem("新建"),new JMenuItem("保存"),
new JMenuItem("打开"),new JMenuItem("另存为"),
new JMenuItem("页面设置"),new JMenuItem("打印"),
new JMenuItem("退出")},{new JMenuItem("复制"),
new JMenuItem("粘贴")},{new JMenuItem("自动换行"),
new JMenuItem("字体")},{new JMenuItem("帮助主题"),
new JMenuItem("关于记事本")}};
private JMenu menu[] = {new JMenu("文件(F)"),new JMenu("编辑(E)"),
new JMenu("格式(O)"),new JMenu("帮助(H)")};
private TextArea jta = new TextArea();
private J_Action jaction = new J_Action();
public J_Frame()
{
jta.setSize(760,550);
for(int i = 0;i < 4;i++)
{
menu[i].addActionListener(jaction);
jmb.add(menu[i]);
for(int j = 0;j < MI[i].length;j++)
{
MI[i][j].addActionListener(jaction);
menu[i].add(MI[i][j]);
}
}
jta.addFocusListener(new FocusListener()//////////////////
{
public void focusLost(FocusEvent e)
{
if(jta.isVisible())
jta.setVisible(false);
}
public void focusGained(FocusEvent e)
{
if(jta.isVisible() == false)
jta.setVisible(true);
}
});
this.getContentPane().add(new JScrollPane(jta));
this.setJMenuBar(jmb);
}
}
class J_Action implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String str = e.getActionCommand();
if(str == "新建")
{
System.exit(0);
}
}
}
public class J_Txt
{
public static void main(String args[])
{
J_Frame frame = new J_Frame();
frame.setTitle("新建文本文档.txt-记事本");
frame.setSize(770,570);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
搜索更多相关主题的帖子: 图形 用户界面 import java new 
2007-04-07 14:35
herendagao
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-5-3
收藏
得分:0 
回复:(herendagao)求助:关于图形用户界面设计
    事实上我并不想将JTextArea给设置成不可见状态,知识为了显示菜单条的下拉菜单项,但如果JtextArea处于可见状态,下拉菜单项都被JTextArea给罩住了,我应该怎么处理?

2007-04-07 14:58
zhjjfz
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-4-29
收藏
得分:0 
TextArea改为JTextArea,菜单显示就全了,JMenuBar是轻权的,而TextArea是重权的,重权有限显示。

GUI设计中最好不要轻权重权组件混用。(java.awt中的组件为重权的,有了Swing最好不要用awt中的GUI组件了)
2007-04-29 10:17
tblovecj
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2006-9-20
收藏
得分:0 
要想在失去焦点时再获取焦点你在你的actionListener事件里加一个当某个事件触发时再用一个.requestFucusInWindow()就应该能实现吧!

2007-04-30 02:42
快速回复:求助:关于图形用户界面设计
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024463 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved