2013-11-03 3 views
0

Я пытаюсь создать Java-программу с JLabel, которая напрямую модифицируется JSlider. Я получил всю симпатичность, но я не могу заставить Шрифт работать над JLabel. Ниже мой код.JSlider Изменяет размер JLabel

int PIX_INIT = 24; 
int PIX_MIN = 0; 
int PIX_MAX = 100; 
JCheckBox text; 
JCheckBox slide; 
JTextField size; 
JSlider pixel; 
JLabel label1; 
JLabel label2; 

//Adds header 
    JPanel header = new JPanel(new BorderLayout()); 
    header.setBackground(Color.CYAN); 
    header.setSize(400, 50); 
    header.setVisible(true); 

     //Adds content to header 
     JPanel content = new JPanel(); 
     content.setBackground(Color.CYAN); 
     label1 = new JLabel("Marker Size: "); 
     content.add(label1); 

     size = new JTextField(5); 
     content.add(size); 

     label2 = new JLabel(" pixels"); 
     content.add(label2); 
     header.add(content, BorderLayout.SOUTH); 
     this.add(header, BorderLayout.CENTER); 

    //Adds body 
    JPanel body = new JPanel(new BorderLayout()); 
    body.setBackground(Color.WHITE); 
    body.setSize(400, 325); 
    body.setVisible(true); 
    this.add(body, BorderLayout.CENTER); 
//End body 
//Creates slider 

    //Adds slider 
    pixel = new JSlider(SwingConstants.HORIZONTAL, PIX_MIN, PIX_MAX, PIX_INIT); 
    pixel.setMajorTickSpacing(10); 
    pixel.setPaintTicks(true); 
    this.add(pixel, BorderLayout.SOUTH); 
//End slider 

private class SliderHandler implements ChangeListener { 
    public void stateChanged(ChangeEvent e) { 
     pixel = (JSlider)e.getSource(); 
     int scale = pixel.getValue(); 
     Font font = new Font("Serif", Font.PLAIN, scale); 
     label1.setFont(font); 
     System.out.println(scale); 
    } 
} 

ответ

5

Вы добавили ChangeListener в слайдер?

pixel.addChangeListener(new SliderHandler()); 
+0

Да, я это сделал. Забыл опубликовать его. –

+0

@CoryMeeks, «Забыл опубликовать его» - в будущем опубликуйте надлежащую [SSCCE] (http://sscce.org/), иначе мы будем тратить время на угадывание. – camickr

0

Получается, что я использовал правильный код все время. Не совсем уверен, как это произошло, или почему, но мой код пытался запустить код из другого экземпляра этой программы. Когда я удалил другой экземпляр, он работал отлично. Если у вас есть ответ, почему это произошло, положите его на меня. Очень смутно.