Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.51 KB | None | 0 0
  1. import java.awt.EventQueue;
  2. import java.awt.GridLayout;
  3. import java.beans.PropertyChangeListener;
  4. import java.beans.PropertyChangeSupport;
  5. import java.util.logging.Level;
  6. import java.util.logging.Logger;
  7. import javax.swing.JFrame;
  8. import javax.swing.JLabel;
  9. import javax.swing.JPanel;
  10. import javax.swing.JSlider;
  11. import javax.swing.UIManager;
  12. import javax.swing.UnsupportedLookAndFeelException;
  13. import javax.swing.WindowConstants;
  14. import javax.swing.event.ChangeEvent;
  15. import javax.swing.event.ChangeListener;
  16.  
  17. public class Test2 extends JFrame{
  18. private Panels panel1, panel2;
  19.  
  20. public Test2(){
  21. init();
  22. }
  23.  
  24. private void init(){
  25. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  26. setLayout(new GridLayout(0,1));
  27. panel1 = new Panels("Test1");
  28. panel2 = new Panels("Test2");
  29. add(panel1.getPanel());
  30. add(panel2.getPanel());
  31. pack();
  32. setVisible(true);
  33.  
  34. }
  35. public class Panels {
  36. private JSlider slider;
  37. private JPanel panel;
  38. private JLabel label;
  39. private ChangeListener changeListener;
  40. private PropertyChangeSupport changeSup;
  41.  
  42.  
  43. public Panels(String text){
  44. slider = new JSlider();
  45. slider.setMajorTickSpacing(50);
  46. slider.setMaximum(255);
  47. slider.setMinorTickSpacing(10);
  48. slider.setPaintLabels(true);
  49. slider.setPaintTicks(true);
  50. setSliderValue(0);
  51. label = new JLabel();
  52. label.setText("0");
  53.  
  54.  
  55. changeListener = new ChangeListener(){
  56.  
  57. @Override
  58. public void stateChanged(ChangeEvent e) {
  59. setLabelText(String.valueOf(getSliderValue()));
  60. }
  61. };
  62. slider.addChangeListener(changeListener);
  63.  
  64.  
  65. panel = new JPanel();
  66. panel.add(label);
  67. panel.add(slider);
  68. }
  69.  
  70. public final int getSliderValue() {
  71. return slider.getValue();
  72. }
  73.  
  74. public final void setSliderValue(int value) {
  75. slider.setValue(0);
  76. }
  77.  
  78. public final String getLabelText() {
  79. return label.getText();
  80. }
  81.  
  82. public final void setLabelText(String text) {
  83. String oldLabelText = getLabelText();
  84. label.setText(text);
  85. changeSup.firePropertyChange("value", oldLabelText, getLabelText());
  86. }
  87.  
  88. public void
  89. addPropertyChangeListener(PropertyChangeListener listener){
  90. changeSup.addPropertyChangeListener("value", listener);
  91. }
  92.  
  93. public void
  94. removePropertyChangeListener(PropertyChangeListener listener){
  95. changeSup.removePropertyChangeListener("value", listener);
  96. }
  97.  
  98. public final JPanel getPanel(){
  99. return panel;
  100. }
  101.  
  102.  
  103.  
  104. }
  105.  
  106. public static void main(String[] args) {
  107. try {
  108. for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
  109. if ("Nimbus".equals(info.getName())) {
  110. UIManager.setLookAndFeel(info.getClassName());
  111. break;
  112. }
  113. }
  114. }
  115. catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
  116. Logger.getLogger(Test2.class.getName()).log(Level.SEVERE, null, ex);
  117. }
  118.  
  119. EventQueue.invokeLater(new Runnable() {
  120. public void run() {
  121. new Test2();
  122. }
  123. });
  124. }
  125.  
  126.  
  127.  
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement