我最近用SWT/JFace做一个项目,在项目中需要实现这样一个功能:
有一个主窗体,主窗体上有一个面板,面板内有一组Label如下图([]代表一个label):
[这] [是] [一] [组] [Labels] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
当右单击Label的时候,弹出一个子窗体。
请问,如何实现让弹出子窗体的顶端和点击Label的底端对齐?弹出子窗体的左端和Label的左端对齐。
有一个主窗体,主窗体上有一个面板,面板内有一组Label如下图([]代表一个label):
[这] [是] [一] [组] [Labels] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
当右单击Label的时候,弹出一个子窗体。
请问,如何实现让弹出子窗体的顶端和点击Label的底端对齐?弹出子窗体的左端和Label的左端对齐。
解决方案 »
- BufferedReader产生的错误
- 寻求高手解决java程序问题
- 奇怪的问题:type dismatch, can not convert date to date
- 为什么不能访问clone()方法.java
- 怎么在linux下运行java
- java GUI 中如何嵌入网页,并跟网页交互
- 如何在java中使用存贮过程
- 怎么样能把正常情况下显示的字符串(从左到右显示)旋转90度(从上到下一个个字符显示)
- 我要转向JAVA了但我觉得除了跨平台,真的找不到JAVA的什么比VC好!给我点动力吧!
- IBM Visual Jave 3的帮助系统是怎么启动起来的?
- 求一个2级联动菜单的脚本
- 一个关于JDK源码中ArrayList类的add方法的问题
简单一点就是
newframe.setLocation(label.getLocationOnScreen);
这样就OK了package untitled1;import java.awt.BorderLayout;
import java.awt.Dimension;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.*;
import javax.swing.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Frame1 extends JFrame {
JPanel contentPane;
JLabel jLabel1 = new JLabel();
public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
} /**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(400, 300));
setTitle("Frame Title");
jLabel1.setBorder(BorderFactory.createEtchedBorder());
jLabel1.setText("jLabel1");
jLabel1.setBounds(new Rectangle(92, 56, 98, 19));
jLabel1.addMouseListener(new Frame1_jLabel1_mouseAdapter(this));
contentPane.add(jLabel1);
} public void jLabel1_mouseReleased(MouseEvent e) {
Frame1 frm=new Frame1();
frm.setSize(50,30);
frm.setLocation(jLabel1.getLocationOnScreen());
frm.setVisible(true);
}
}
class Frame1_jLabel1_mouseAdapter extends MouseAdapter {
private Frame1 adaptee;
Frame1_jLabel1_mouseAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
} public void mouseReleased(MouseEvent e) {
adaptee.jLabel1_mouseReleased(e);
}
}
我是用 SWT/JFace作开发的,但是你用的是Swing.
你能用SWT写一个吗?