Tag: 用户界面

Swing:如何实现从子组件到父容器的所有事件的转发?

我正在寻找一种直接的方法来使Swing组件将所有收到的事件转发到其父容器 (甚至是所有父级到root)。 编辑 : 我在哪里需要这个? 我有一个图表编辑器。 组件必须转发按键和鼠标单击(一旦用户单击该组件的子元素,就将其自身设置为“活动”)。 首先,让我提出我现有的解决方案。 这是一个解决方法。 public interface IUiAction { void perform(Component c); } public static void performRecursiveUiAction(Container parent, IUiAction action) { if (parent == null) { return; } for (Component c : parent.getComponents()) { if (c != null) { action.perform(c); } } for (Component c : parent.getComponents()) { if (c instanceof […]

为什么我的Swing窗口会在几秒钟后自动关闭?

编辑:如果多个标签混淆,我在Jython工作。 这是我的SSCCE : from javax.swing import JFrame window = JFrame(‘Test’, defaultCloseOperation = JFrame.EXIT_ON_CLOSE, size = (800, 600)) window.visible = True 窗口打开,在那里停留几秒钟,然后关闭。 到目前为止,我发现唯一的解决方案是添加while True: pass到最后,这似乎表明问题是window超出范围,因此它被清理并且必须关闭。 事实上,这可能是我之前遇到的同一问题的另一个症状。 但是,我不认为在无限循环中浪费周期是最好的解决方案。 我想我可以通过在每个循环上睡几秒钟来减少问题,但我仍然希望能够正确地解决这个问题。 以“正确的方式”做事,在EDT上创建窗口,给出完全相同的行为: from javax.swing import JFrame, SwingUtilities from java.lang import Runnable class Foo(Runnable): def run(self): window = JFrame(‘Test’, defaultCloseOperation = JFrame.EXIT_ON_CLOSE, size = (800, 600)) window.visible = True foo […]

ListView与JavaFX中的自定义内容

我如何使用JavaFx为我的应用程序制作自定义ListView。 我需要每个行listView的HBox图像和2个标签。

如何在Swing中平滑滚动列表

在iPhone上滚动浏览列表是动画的动画。 忽略惯性效果(尽管它也很酷) – 我怎样才能让Swing列表框像这样平滑地滚动? 还有其他一些例子,比如浏览器,但那些使用我不能用于Swing的本机控件。

如何在同一位置用另一个JPanel替换一个JPanel?

我有一个大约四帧的JFrame。 在给定动作之后,我想在同一位置将一个面板替换为另一个面板。 我切换它们的方法看起来像这样( this对象是一个扩展JFrame的类): public void switchPanel(){ mainPanel.remove(introPanel); mainPanel.add(questionPanel); this.repaint(); } 窗口的原始创建如下所示: mainPanel.add(titlePanel); mainPanel.add(sidePanel); mainPanel.add(introPanel);

Java:单帧与多帧

想想经典的安装过程,你有一个“下一步”按钮,当你点击它时,窗口的内容会发生变化。 为了表示这种情况,我想到了两种可能的解决方案 – 当单击“next”时,销毁当前的JFrame并创建一个新的JFrame,可能会传递给他的构造函数有用的信息(例如实际窗口大小,用户在当前帧中插入的内容,……) – 单击“下一步”时,从当前JFrame中删除所有组件,并根据需要添加新组件 第一个解决方案在OOprogramming方面看起来更好,因为我可以为不同的帧保留单独的类,我可以避免使用大量方法清空帧并重新填充它。 然而,第一个解决方案听起来有点“脏”,我应该将大量参数传递给新帧。 为了表示这种情况,我会选择第二种解决方案。 现在想想一个带有“选项”组件的菜单:在这种情况下,我会在点击“选项”时创建一个新的JFrame,这样我就可以用选项来填充它。 这是正确的解决方案吗? 有没有办法让我总能知道哪一个是最好的解决方案? 有没有我没想过的解决方案?

如何在Java Swing中构建Google-chrome选项卡和菜单栏界面?

有人知道一个开源项目或代码片段,它们演示了如何在Swing中创建类似标签和工具栏的类似google-chrome的界面? 我知道,我可以使用JTabbedPane ,但我想的是一个看起来和感觉非常类似于谷歌浏览器“标签浏览”的界面。

Java中的Interactive Map查看器桌面应用程序

我想构建一个桌面应用程序 – 一个地图查看器,如下所示: http://sunsite.ubc.ca/UBCMap/ : http://sunsite.ubc.ca/UBCMap/用Java编写。 每当有人将鼠标hover在地图上的建筑物上时,应该有一个气球工具提示,说明地图上的建筑物,如办公室电话号码等,该建筑物应在2-d地图中发光。 有人可以给我一些指示,我应该在Java中使用什么框架来构建这样的东西(例如JavaFx)? 是否有任何类似的示例代码?

如何构建Swing应用程序

我对摇摆或GUI设计一般都没有多少经验(大学里的一些WPF应用程序的高度很高),但是我的任务是在工作中重构部分循环遗留应用程序。 我被要求重构的部分围绕一个弹出窗口,该窗口可以根据特定的值对象以三种不同的格式显示。 这3种不同的格式都共享一些基本字段,然后有条件地确定其他格式。 负责这个GUI元素的类长约5k,我认为它应该分成三个子类,基类中的共享内容都可以扩展。 但是我完全不知道这是否是正确的方法。 任何人都可以强调一些用于处理不同摆动组件的策略,这些组件共享按钮/字段等元素吗? 此外,是否有任何大型OSS挥杆应用程序可用于学习? 更多信息:我正在处理的应用程序是一个庞大的遗留应用程序,目前相当可怕的结构。 我是团队的新手(也是一个相当近的gradle生,因此在这方面没有太多的经验)并且被要求尝试打破其中一个负责显示此弹出窗口的巨大课程更小的可维护组件。 基本上,应用程序中有一个弹出窗口允许用户响应某些事件,这有三种不同的外观,具体取决于他们需要响应的请求的子类型。 很大一部分GUI元素在所有三个子类型中都是一致的,因此我很想知道inheritance是否是最好的方法,还是有其他策略来处理这个问题?

使用JSeperator时不寻常的差距 – Java

我一直在研究Swing GUI并在添加JSeperator后得到一些不寻常和不必要的空白,不知道如何删除它们? 或任何其他选项,如何很好地实现这一目标! 视觉描述 在JLabel “速度”和JSlider之后,差距显而易见。 相关代码 control.setLayout(new BoxLayout(control, BoxLayout.X_AXIS)); …another code omitted… control.add(orientation); //JLabel control.add(norm); //JRadioButton control.add(back); //JRadioButton control.add(new JSeparator(SwingConstants.VERTICAL)); control.add(speedLabel); //JLabel control.add(speed); //JSlider control.add(new JSeparator(SwingConstants.VERTICAL)); control.add(turnOutLabel); //JLabel control.add(right); //JRadioButton control.add(straight); //JRadioButton control.add(left); //JRadioButton 我想要的是让JSeperator把所有东西都集中在一起, 视觉描述 谢谢。