JAVA1.5 GUI的一些问题。

q1531 2008-12-01 12:34:44
1.JAVA1.5 下怎么实现托盘化?
2。如何让GUI界面程序转入后台运行。任务栏中不显示程序。
...全文
112 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
q1531 2008-12-03
  • 打赏
  • 举报
回复
怎么实现一个全局的快捷键,就是当程序转入后台之后用此快捷键将窗体显示出来?
q1531 2008-12-03
  • 打赏
  • 举报
回复
郁闷,第二个问题我考虑复杂了。
第一个问题,SWT怎么实现?能不能给段代码?
gongfuliang 2008-12-03
  • 打赏
  • 举报
回复
1.JAVA1.5 下怎么实现托盘化? //JNI,Swing做不到,使用SWT可以
2。如何让GUI界面程序转入后台运行。任务栏中不显示程序。
//无非就是添加一个转到后台运行的按钮,在点击是frame.setVisible(false),但是你的有地方可以setVisible(true)
gongfuliang 2008-12-03
  • 打赏
  • 举报
回复
1.JAVA1.5 下怎么实现托盘化? //JNI,Swing做不到,使用SWT可以
2。如何让GUI界面程序转入后台运行。任务栏中不显示程序。
//无非就是添加一个转到后台运行的按钮,在点击是frame.setVisible(false),但是你的有地方可以setVisible(true)
gongfuliang 2008-12-03
  • 打赏
  • 举报
回复
去网上查查吧,有现成的C实现的
gongfuliang 2008-12-03
  • 打赏
  • 举报
回复
12楼的有个简单的实现,但是还是不建议使用SWT实现系统托盘
gongfuliang 2008-12-03
  • 打赏
  • 举报
回复
有啊,import org.eclipse.swt.widgets.TrayItem;
q1531 2008-12-03
  • 打赏
  • 举报
回复
1.5貌似没得TrayItem吧
MT502 2008-12-03
  • 打赏
  • 举报
回复
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
Image image = new Image(display, 16, 16);
final Tray tray = display.getSystemTray();
if (tray == null) {
System.out.println("The system tray is not available");
} else {
final TrayItem item = new TrayItem(tray, SWT.NONE);
item.setToolTipText("SWT TrayItem");
item.addListener(SWT.Show, new Listener() {
public void handleEvent(Event event) {
System.out.println("show");
}
});
item.addListener(SWT.Hide, new Listener() {
public void handleEvent(Event event) {
System.out.println("hide");
}
});
item.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
System.out.println("selection");
}
});
item.addListener(SWT.DefaultSelection, new Listener() {
public void handleEvent(Event event) {
System.out.println("default selection");
}
});
final Menu menu = new Menu(shell, SWT.POP_UP);
for (int i = 0; i < 8; i++) {
MenuItem mi = new MenuItem(menu, SWT.PUSH);
mi.setText("Item" + i);
mi.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
System.out.println("selection " + event.widget);
}
});
if (i == 0)
menu.setDefaultItem(mi);
}
item.addListener(SWT.MenuDetect, new Listener() {
public void handleEvent(Event event) {
menu.setVisible(true);
}
});
item.setImage(image);
}
shell.setBounds(50, 50, 300, 200);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
image.dispose();
display.dispose();
}
gongfuliang 2008-12-03
  • 打赏
  • 举报
回复
SWT的实现不是很好,建议还是适应JNI吧,以前有个产品也想使用SWT,但是SWT有不少问题。(SWT就是使用TrayItem实现,托盘图标)

后台运行最好配合托盘图标一起,通过托盘的右键进行界面的呼出。

noenoughmemory 2008-12-02
  • 打赏
  • 举报
回复
ding
qap22 2008-12-02
  • 打赏
  • 举报
回复
ding
q1531 2008-12-02
  • 打赏
  • 举报
回复
第二个问题我想要的效果是程序转到后台运行。
在任务栏中看不到程序
myjava_024 2008-12-02
  • 打赏
  • 举报
回复
学习…………
好像需要用Windows的api
qusic 2008-12-02
  • 打赏
  • 举报
回复
第一个问题在1.5要用JNI
第二个不要不你的图形界面显示出来不就行了
nj_dobetter 2008-12-01
  • 打赏
  • 举报
回复
1、貌似要用JNI+Win32 API
2、不用JFrame就行了
下载Jad反编译工具:大家都是这么说的到“http://www.kpdus.com/jad.html”这个网址下下载适合自己操作系统平台的jad下载,可惜我没找到,英语不好,我打的包里包含了Jad反编译工具。 将下载的包解压有一下几个文件: 配置说明.txt,net.sf.jadclipse_3.3.0.jar,jad.exe,jd-gui.exe。 步骤一、将net.sf.jadclipse_3.3.0.jar拷贝到..\eclipse3.3.2\plugins(也就是eclipse的插件目录)下。 步骤二、将jad.exe(这是1.5.8版本的)拷贝到你想放的目录下,如拷贝到“%JAVA_HOME%\bin”下。 步骤三、启动eclipse,打开:Window->Preferences->Java->JadClipse,其中“Path to decompiler”后的输入框填写反编译工具jad.exe的全路径名,如我的是“D:\bea\jdk160_05\bin\jad.exe”。 步骤四、一般的话安装完成后eclipse自动将JadClipse Class File Viewer设置成class文件的缺省打开方式。如果没有默认,可以在Eclipse的Windows-> Perference->General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。 设置完成后,在eclispe下摁住Ctrl键用鼠标点击你要查看源码的类,eclipse将自动反编译。 其中eclipse的版本要在3.3及其以上。 其中jd-gui.exe是一个可反编译的小工具,直接双击打开,在打开.class文件就可以了。(和jad.exe放在一个目录下)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧