예제 #1
0
        protected override void paintComponent(Graphics g)
        {
            base.paintComponent(g);
            Dimension size = this.getSize();
            int       num  = size.height / 2;

            short[]   audioData = this.audio.getAudioData();
            JViewport viewport  = this.getViewport();
            int       num2;
            int       num3;

            if (viewport != null)
            {
                Rectangle viewRect = viewport.getViewRect();
                num2 = ByteCodeHelper.d2i(viewRect.getX());
                num3 = ByteCodeHelper.d2i(viewRect.getWidth());
            }
            else
            {
                num2 = 0;
                num3 = ByteCodeHelper.f2i((float)audioData.Length * this.xScale);
            }
            g.setColor(Color.WHITE);
            g.fillRect(num2, 0, num3, size.height - 1);
            int num4 = java.lang.Math.max(0, this.getSelectionStart());
            int num5 = ByteCodeHelper.f2i((float)num4 * this.xScale);

            num4 = this.getSelectionEnd();
            if (num4 == -1)
            {
                num4 = audioData.Length - 1;
            }
            int num6 = ByteCodeHelper.f2i((float)num4 * this.xScale);

            g.setColor(Color.LIGHT_GRAY);
            g.fillRect(num5, 0, num6 - num5, size.height - 1);
            int[] array  = new int[num3];
            int[] array2 = new int[num3];
            for (int i = 0; i < num3; i++)
            {
                array[i] = num2;
                num4     = ByteCodeHelper.f2i((float)num2 / this.xScale);
                if (num4 >= audioData.Length)
                {
                    break;
                }
                array2[i] = num - ByteCodeHelper.f2i((float)audioData[num4] * this.yScale);
                num2++;
            }
            g.setColor(Color.RED);
            g.drawPolyline(array, array2, num3);
            for (int i = 0; i < this.labelTimes.Length; i++)
            {
                num2 = ByteCodeHelper.f2i(this.xScale * this.labelTimes[i] * this.audio.getAudioFormat().getSampleRate());
                g.drawLine(num2, 0, num2, size.height - 1);
                g.drawString(this.labels[i], num2 + 5, size.height - 5);
            }
        }
예제 #2
0
        public static void scrollToVisible(JTable paramJTable, int paramInt1, int paramInt2)
        {
            if (!(paramJTable.Parent is JViewport))
            {
                return;
            }
            JViewport jViewport = (JViewport)paramJTable.Parent;
            Rectangle rectangle = paramJTable.getCellRect(paramInt1, paramInt2, true);
            Point     point     = jViewport.ViewPosition;

            rectangle.setLocation(rectangle.x - point.x, rectangle.y - point.y);
            paramJTable.scrollRectToVisible(rectangle);
            jViewport.scrollRectToVisible(rectangle);
        }
예제 #3
0
        private JViewport getViewport()
        {
            Container parent = this.getParent();

            if (parent is JViewport)
            {
                Container parent2 = parent.getParent();
                if (parent2 is JScrollPane)
                {
                    JScrollPane jscrollPane = (JScrollPane)parent2;
                    JViewport   viewport    = jscrollPane.getViewport();
                    if (viewport == null || viewport.getView() != this)
                    {
                        return(null);
                    }
                    return(viewport);
                }
            }
            return(null);
        }