├── .DS_Store └── Demo.java /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DewmithMihisara/slider-assignment-swing/HEAD/.DS_Store -------------------------------------------------------------------------------- /Demo.java: -------------------------------------------------------------------------------- 1 | import javax.swing.*; 2 | import java.awt.*; 3 | import java.awt.event.*; 4 | 5 | class Slider extends JFrame { 6 | private JSlider sldr; 7 | private JPanel sldrPnl; 8 | static int value; 9 | 10 | Slider(int length) { 11 | initComponents(length); 12 | } 13 | void initComponents(int length) { 14 | setSize(200, 250); 15 | setTitle("Slider " +length); 16 | setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 17 | setLocationRelativeTo(null); 18 | 19 | sldrPnl = new JPanel(); 20 | sldr = new JSlider(JSlider.VERTICAL, 10, 50, 25); 21 | sldr.setCursor(new Cursor(Cursor.HAND_CURSOR)); 22 | sldr.setValue(value); 23 | 24 | sldr.addChangeListener((event) -> { 25 | if (!sldr.getValueIsAdjusting()) { 26 | value = sldr.getValue(); 27 | 28 | for (int i = 0; i < MainWindow.sliderAr.length; i++) { 29 | MainWindow.sliderAr[i].sldr.setValue(value); 30 | } 31 | } 32 | }); 33 | 34 | sldrPnl.add(sldr); 35 | add(sldrPnl); 36 | } 37 | } 38 | 39 | class MainWindow extends JFrame { 40 | private JButton b1; 41 | private JPanel btnPnl; 42 | static Slider[] sliderAr; 43 | 44 | MainWindow() { 45 | initComponents(); 46 | } 47 | 48 | void extendsArray() { 49 | Slider[] temp = new Slider[sliderAr.length + 1]; 50 | for (int i = 0; i < sliderAr.length; i++) { 51 | temp[i] = sliderAr[i]; 52 | } 53 | sliderAr = temp; 54 | } 55 | 56 | void initComponents() { 57 | setSize(200, 100); 58 | setTitle("Main Window"); 59 | setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 60 | setLocationRelativeTo(null); 61 | 62 | sliderAr = new Slider[0]; 63 | 64 | btnPnl=new JPanel(); 65 | b1= new JButton("Create"); 66 | b1.setCursor(new Cursor(Cursor.HAND_CURSOR)); 67 | 68 | b1.addActionListener((event) -> { 69 | extendsArray(); 70 | 71 | Slider c1 = new Slider(sliderAr.length); 72 | sliderAr[sliderAr.length - 1] = c1; 73 | 74 | c1.setVisible(true); 75 | }); 76 | 77 | btnPnl.add(b1); 78 | add(btnPnl,BorderLayout.CENTER); 79 | } 80 | } 81 | 82 | class Demo { 83 | public static void main(String args[]) { 84 | new MainWindow().setVisible(true); 85 | } 86 | } 87 | --------------------------------------------------------------------------------