2

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

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

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

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

    4

    1 回答 1

    3
    1. 覆盖 JFrame 内 JPanel 的 paintComponent 并以与 Shape 相同的方式绘制渐变。

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

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

    4. java:单击按钮时打开文件夹

    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(); 
      
    于 2012-12-17T17:22:59.490 回答