java - 为屏幕录像机创建 GUI

标签 java popup jframe

我正在看 Randel Schofer 的屏幕录像机,我喜欢它的 GUI。我试图自己设计一个而不看源代码。我知道这是最简单的方法,但我想自己解决问题。
我遇到了很多问题:
problems

  • 如何获得这样的背景?我知道 GradientPaint可以做到这一点。我已经用它来填充矩形和圆形,但是我如何将它用于 JFrame
  • 如何添加该箭头?我知道如何为按钮添加图像,但这些图像是 24 x 24 并且很大,所以我不知道那是什么
  • 这是一个 JPopupMenu 吗?
  • 我知道如何创建它们并赋予它们功能,但我所有的弹出菜单都位于 JFrame 内。
  • **那是什么?当我点击时,它会打开“视频”文件夹问题说明了一切
  • 如何添加计时器? 我需要一个线程来维护时间吗?如果是,我该如何处理run()方法?
  • 编辑:

    public class ScreenRecorder extends JFrame{
        protected class background extends JPanel{
            @Override
            public void paintComponent(Graphics g){
    
            }
        }
    }
    

    我仍然无法获取背景。请帮忙。

    最佳答案

    1. 重写 JFrame 内 JPanel 的 PaintComponent 并以与绘制 Shape 相同的方式绘制渐变。

    2. 您必须在 Photoshop/GIMP 中创建该图像,然后将其添加到 JLabel 或 JButton(取决于交互性)。

    3. 是的 - 从技术上讲它仍然位于 JFrame 内部(设置在 JFrame 内的 JLabel/JButton 上)。只是它在外面绘制,因为 JFrame 太小了。

    4. java: Open folder on button click

    5. 计时器可以这样实现:

      ActionListener listener = new ActionListener()  
              {  
                  public void actionPerformed(ActionEvent e)  
                  {  
                      // Update the display with the time.
                  }  
              }; 
      timer = new Timer(speed, listener);
      timer.setInitialDelay(pause);
      timer.start(); 
      

    关于java - 为屏幕录像机创建 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13918830/

    相关文章:

    java - 为所有组件Java设置相同的字体

    java - 将 int 更改为整数迭代器基本 java

    c# - 有什么方法可以阻止 WPF Popup 在离开屏幕时重新定位自身?

    java - 创建一个图表,以便我可以在其上应用统一成本搜索

    javascript - 如何在弹出窗口中显示链接?

    javascript - 当域的最后一个选项卡关闭时显示弹出窗口

    java - JScrollPane 不适用于我的 JPanel

    java - 如何给予 JFrame 初始焦点

    java - 使用 inputFileUpload 标签选择多个文件

    java - Wildfly 10 到 Wildfly 16 : EJB Scheduler stuck, 无法取消部署/禁用部署,需要终止服务器