velocityCurves[i] = new ImageIcon("synthdrivers/RolandJV80/images/velocity" + (i+1) + ".png");
velocityCurves[i] = new ImageIcon(getClass().getResource("images/velocity" + (i+1) + ".png"));
    JPanel buildTVF(Patch patch, int tone) {        GridBagConstraints gbc = new GridBagConstraints();        JPanel panel = new JPanel(new GridBagLayout());//        panel.setBorder(new TitledBorder(new EtchedBorder(//                EtchedBorder.RAISED), "TVF Envelope",//                TitledBorder.CENTER,TitledBorder.CENTER));        final ImageIcon[] velocityCurves = new ImageIcon[7];        for (int i = 0; i < 7; i++) {        	velocityCurves[i] = new ImageIcon("synthdrivers/RolandJV80/images/velocity" + (i+1) + ".png");        }        gbc.gridx = 0; gbc.gridy = 0; gbc.anchor = GridBagConstraints.WEST;        gbc.gridy++; panel.add(new JLabel("Filter Mode"), gbc);        gbc.gridy++; panel.add(new JLabel("Cut-off Frequency"), gbc);        gbc.gridy++; panel.add(new JLabel("Resonance"), gbc);        gbc.gridy++; panel.add(new JLabel("Resonance Mode"), gbc);        gbc.gridy++; panel.add(new JLabel("Cut-off Key Follow"), gbc);        gbc.gridy++; panel.add(new JLabel("Velocity Curve"), gbc);        gbc.gridy++; panel.add(new JLabel("Velocity Level Sense"), gbc);        gbc.gridy++; panel.add(new JLabel("Velocity On Time Sense"), gbc);        gbc.gridy++; panel.add(new JLabel("Velocity Off Time Sense"), gbc);        gbc.gridy++; panel.add(new JLabel("Time Key Follow"), gbc);        gbc.gridy++; panel.add(new JLabel("Depth"), gbc);        gbc.gridx = 1; gbc.gridy = 0;        gbc.gridy++; panel.add(new ComboBoxWidget(null, patch, 0,                new JVModel(patch, tone, 0x49), new JVSender(tone, 0x49),                new String[] {"OFF", "LPF", "HPF"}), gbc);        gbc.gridy++; panel.add(new ScrollBarWidget(null, patch, 0, 127, 0,                new JVModel(patch, tone, 0x4A), new JVSender(tone, 0x4A)),                gbc);        gbc.gridy++; panel.add(new ScrollBarWidget(null, patch, 0, 127, 0,                new JVModel(patch, tone, 0x4B), new JVSender(tone, 0x4B)),                gbc);        gbc.gridy++; panel.add(new ComboBoxWidget(null, patch, 0,                new JVModel(patch, tone, 0x4C), new JVSender(tone, 0x4C),                new String[] {"SOFT", "HARD"}), gbc);        gbc.gridy++; panel.add(new ScrollBarLookupWidget(null, patch,                0, KEY_FOLLOW_200.length - 1, new JVModel(patch, tone, 0x4D),                new JVSender(tone, 0x4D), KEY_FOLLOW_200), gbc);        gbc.gridy++; panel.add(new ComboBoxWidget(null, patch, 0,                new JVModel(patch, tone, 0x4E), new JVSender(tone, 0x4E),                velocityCurves), gbc);        gbc.gridy++; panel.add(new ScrollBarWidget(null, patch, 1, 127, -64,                new JVModel(patch, tone, 0x4F), new JVSender(tone, 0x4F)),                gbc);        gbc.gridy++; panel.add(new ScrollBarLookupWidget(null, patch,                0, KEY_FOLLOW_100.length - 1, new JVModel(patch, tone, 0x50),                new JVSender(tone, 0x50), KEY_FOLLOW_100), gbc);        gbc.gridy++; panel.add(new ScrollBarLookupWidget(null, patch,                0, KEY_FOLLOW_100.length - 1, new JVModel(patch, tone, 0x51),                new JVSender(tone, 0x51), KEY_FOLLOW_100), gbc);        gbc.gridy++; panel.add(new ScrollBarLookupWidget(null, patch,                0, KEY_FOLLOW_100.length - 1, new JVModel(patch, tone, 0x52),                new JVSender(tone, 0x52), KEY_FOLLOW_100), gbc);        gbc.gridy++; panel.add(new ScrollBarWidget(null, patch, 1, 127, -64,                new JVModel(patch, tone, 0x53), new JVSender(tone, 0x53)),                gbc);        gbc.gridx = 0; gbc.gridy++; gbc.gridwidth = 2; gbc.gridheight=8;        gbc.fill = GridBagConstraints.HORIZONTAL;        panel.add(new EnvelopeWidget(null, patch,                new EnvelopeWidget.Node[] {    				new EnvelopeWidget.Node(0, 0,   null,                           0, 0,   null,                           0, false, null,                            null,                            null,      null),                	new EnvelopeWidget.Node(0, 127, new JVModel(patch, tone, 0x54), 0, 127, new JVModel(patch, tone, 0x55), 0, false, new JVSender(tone, 0x54), new JVSender(tone, 0x55), "T1 Time", "T1 Level"),                	new EnvelopeWidget.Node(0, 127, new JVModel(patch, tone, 0x56), 0, 127, new JVModel(patch, tone, 0x57), 0, false, new JVSender(tone, 0x56), new JVSender(tone, 0x57), "T2 Time", "T2 Level"),                	new EnvelopeWidget.Node(0, 127, new JVModel(patch, tone, 0x58), 0, 127, new JVModel(patch, tone, 0x59), 0, false, new JVSender(tone, 0x58), new JVSender(tone, 0x59), "T3 Time", "T3 Level"),                	new EnvelopeWidget.Node(0, 127, new JVModel(patch, tone, 0x5A), 0, 127, new JVModel(patch, tone, 0x5B), 0, false, new JVSender(tone, 0x5A), new JVSender(tone, 0x5B), "T4 Time", "T4 Level"),        }), gbc);        return panel;    }