Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.EventQueue;
- import java.awt.GridLayout;
- import java.beans.PropertyChangeListener;
- import java.beans.PropertyChangeSupport;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JSlider;
- import javax.swing.UIManager;
- import javax.swing.UnsupportedLookAndFeelException;
- import javax.swing.WindowConstants;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- public class Test2 extends JFrame{
- private Panels panel1, panel2;
- public Test2(){
- init();
- }
- private void init(){
- setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- setLayout(new GridLayout(0,1));
- panel1 = new Panels("Test1");
- panel2 = new Panels("Test2");
- add(panel1.getPanel());
- add(panel2.getPanel());
- pack();
- setVisible(true);
- }
- public class Panels {
- private JSlider slider;
- private JPanel panel;
- private JLabel label;
- private ChangeListener changeListener;
- private PropertyChangeSupport changeSup;
- public Panels(String text){
- slider = new JSlider();
- slider.setMajorTickSpacing(50);
- slider.setMaximum(255);
- slider.setMinorTickSpacing(10);
- slider.setPaintLabels(true);
- slider.setPaintTicks(true);
- setSliderValue(0);
- label = new JLabel();
- label.setText("0");
- changeListener = new ChangeListener(){
- @Override
- public void stateChanged(ChangeEvent e) {
- setLabelText(String.valueOf(getSliderValue()));
- }
- };
- slider.addChangeListener(changeListener);
- panel = new JPanel();
- panel.add(label);
- panel.add(slider);
- }
- public final int getSliderValue() {
- return slider.getValue();
- }
- public final void setSliderValue(int value) {
- slider.setValue(0);
- }
- public final String getLabelText() {
- return label.getText();
- }
- public final void setLabelText(String text) {
- String oldLabelText = getLabelText();
- label.setText(text);
- changeSup.firePropertyChange("value", oldLabelText, getLabelText());
- }
- public void
- addPropertyChangeListener(PropertyChangeListener listener){
- changeSup.addPropertyChangeListener("value", listener);
- }
- public void
- removePropertyChangeListener(PropertyChangeListener listener){
- changeSup.removePropertyChangeListener("value", listener);
- }
- public final JPanel getPanel(){
- return panel;
- }
- }
- public static void main(String[] args) {
- try {
- for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- }
- catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
- Logger.getLogger(Test2.class.getName()).log(Level.SEVERE, null, ex);
- }
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- new Test2();
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement