我最近用SWT/JFace做一个项目,在项目中需要实现这样一个功能:
有一个主窗体,主窗体上有一个面板,面板内有一组Label如下图([]代表一个label):
[这] [是] [一] [组] [Labels] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
当右单击Label的时候,弹出一个子窗体。
请问,如何实现让弹出子窗体的顶端和点击Label的底端对齐?弹出子窗体的左端和Label的左端对齐。
有一个主窗体,主窗体上有一个面板,面板内有一组Label如下图([]代表一个label):
[这] [是] [一] [组] [Labels] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
当右单击Label的时候,弹出一个子窗体。
请问,如何实现让弹出子窗体的顶端和点击Label的底端对齐?弹出子窗体的左端和Label的左端对齐。
解决方案 »
- 改变textfield字体后菜单栏无响应
- 一个关于素数的小问题 输出问题
- 帮忙看看啊!如何用接口、抽象类、继承三种方法实现各种几何物体面积的计算
- 问下Java怎么实现输出是一个tree结构。
- 父窗体点击菜单弹出输入对话框,然后父窗体等待输入窗体的响应,如输入窗体录入数据并确认,返回父窗体一个字符串,怎么做?
- Spring声明式事务中如何管理Session
- 大家一起为奥运出力,看我的奥运倒计时问题出在哪里? (applet,线程的关闭)
- 谁有jspsmartupload.zip或jar,给发一个
- null 和 null 居然能够比较大小
- 我下载了javahelp包!应该怎么设置它的环境变量?不用设置能不能用javax.help包?
- 求一个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写一个吗?