Tag: 用户界面

如何使用Java(Swing)获得标题栏的高度?

我在Java中获得了一个MouseEvent 。 getPoint()方法是将标题栏的高度添加到坐标的y部分。 我想知道如何找到当前窗口标题栏的高度,以便将y值偏移正确的数量。

设置swt中多行文本显示的行数

我正在使用TextArea的关注 ToolBar bar = new ToolBar(box,SWT.NONE); ToolItem item = new ToolItem(bar, SWT.SEPARATOR); Text text = new Text(bar, SWT.BORDER | SWT.MULTI); item.setWidth(width); item.setControl(text); GridData data = new GridData(); data.verticalAlignment = SWT.CENTER; data.grabExcessHorizontalSpace = true; data.grabExcessVerticalSpace = true; text.setLayoutData(data); 我想显示一个多行文本框,目前它接受多行文本,但一次只显示一行。 知道如何设置要显示的行数吗? 谢谢。

如何在java中为动作实现简单的撤消/重做?

我已经创建了一个XML编辑器,我在最后阶段陷入困境:添加撤消/重做function。 当用户向JTree添加元素,属性或文本时,我只需要添加undo / redo。 我还是很新,但今天在学校我尝试(不成功)创建两个栈对象[],称为撤消和重做,并添加执行的动作。 例如,我有: Action AddElement() { // some code public void actionPerformed(ActionEvent e) { performElementAction(); } } performElementAction实际上只是向JTree添加了一个Element。 我想添加一种方法来将此操作添加到我的撤消堆栈中。 是否只有一种简单的方法来实现undo.push(执行整个动作)或其他什么? 抱歉听起来像坏人,但这就是我:(

getContentPane()。add()是否与add()相同

getContentPane()。add()是否与add()相同? public class TestFrame extends JFrame{ public TestFrame() { JLabel label = new JLabel(“jo”); getContentPane().add(label); add(label); } }

GroupLayout:值得学习吗?

我对java(特别是swing)相对较新,并且最近一直在制作一些相当简单的应用程序,随时随地学习。 最新版本具有许多表单组件,如JLabel,JTextFields,JButtons等。所有组件都使用可视化构建器放置在NetBeans中。 我不得不说我并没有真正接受NetBeans,而是真正设计了GUI并将代码直接复制到Eclipse。 我的问题是:是否值得对GroupLayout进行非常好的理解并手工编码(因此可以更好地控制我的GUI)或继续按原样继续?

为什么GridBagLayout将我的组件放在中心而不是放在角落?

到目前为止,我设法尽可能避免使用GridBagLayout (手动代码),但这次我无法避免它,我正在阅读SUN的教程GridBagLayout到目前为止它还不顺利。 我想我很想念一些东西。 例如,我尝试以下代码(类似于SUN的post中的代码): public class MainFrame extends JFrame { public static void main(String args[]) { EventQueue.invokeLater(new Runnable() { public void run() { try { MainFrame frame = new MainFrame(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame */ public MainFrame() { super(); setBounds(100, 100, 500, 375); […]

双击设计选项卡中的对象后删除Netbeans自动生成的代码

所以我使用Netbeans和设计选项卡,放置标签,文本框等。很棒,但是当你双击说标签时它会自动生成这段代码: private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: } 现在我不希望它这样做,但当我突出并尝试删除它时 – Netbeans不允许我这样做。 我该怎么做才能删除它?

内部组件的JPanel大小

是否可以告诉JPanel将其大小设置为适合它包含的所有组件? 类似于JFrame的pack() 。 编辑:使用preferredSize的技巧没有帮助。 我有JSplitPane,其中一部分是GridBagLayout,有许多标签(见截图),标签相互重叠。 截图http://sofzh.miximages.com/java/screen.png

使复合可以在SWT中集中

是否可以在SWT中创建可聚焦的复合材料? 我通过显示filter捕获所有键盘事件,但是当焦点在树或列表上时存在一些问题 – GTK +的默认操作是搜索控件的内容。 我想要做的是将SWT和AWT与可聚焦的AWT组件混合。 我设法让AWT小部件无法对焦,我添加了显示filter,使AWT组件接收键盘事件(但不是直接),即使它没有聚焦。 但是当一些SWT控件被聚焦时有几个问题 – 这就是为什么我想让复合可聚焦。 所以我的最后一个问题是:是否有可能使SWT复合成为可调焦的?

如何正确输出java全屏

现在我在我的程序中做的是我正在使用setundecorated = true和setundecorated = true因此它使它全屏显示并且显示看起来非常好,但问题是左侧和右侧有图像(边框)我的屏幕和蓝色背景。 发生的变化是,在更改屏幕和分辨率时,这些会受到干扰并且无法正确显示。 那些灰色斑块再次出现 历史: 我有一个java程序,我想要全屏打开; 我无法找到正确的方法,因此我将最小值调整为(1370,727)和最大尺寸。 因此,它开始在我的笔记本电脑上正常打开,但当我将笔记本电脑的显示器更换为LCD时,它开始出现问题: 它在一个较小的窗口中打开: 如果我然后点击最大化按钮,侧面和底部会出现一个灰色区域(我希望屏幕上的项目能够拉伸或居中): 例如,底部有一个灰色的补丁。 相反,我希望背景覆盖整个屏幕。 更新1如果我更改为可伸缩的gridbaglayout,这是我使用的代码,会发生什么: Menu.setExtendedState(MAXIMIZED_BOTH); GridBagLayout gbl = new GridBagLayout(); Menu.setLayout(gbl); JButton component = new JButton(“1”); gbl.layoutContainer(Menu); GridBagConstraints gbc = new GridBagConstraints(); gbc.fill = GridBagConstraints.NONE; gbl.setConstraints(component, gbc); Menu.add(component); Menu.pack(); Menu.setVisible(true); 题 如何将“this”框架设置为setExtendedState(MAXIMIZED_BOTH),就像我对其他人一样? (如果我在main函数中执行此操作,则会出现错误;即使我为此创建函数并在main中调用它也会出现错误) 如何根据额外的灰色空间来拉伸/重新排列所有内容? 更新2此项目中的我的文件: 更新3这是我正在处理“FormTTS.java”的当前文件在那里搜索“MAXIMIZED_BOTH” ,你会发现我想你要检查的代码。