Изменить цвет JTextArea на основе выбранного элемента JComboBox - PullRequest
1 голос
/ 15 июля 2011

Наряду с основным основным потоком, это отобразит окно с предложением и изменит шрифт на жирный, как только что-то из выпадающего меню будет выбрано.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Gui extends JFrame {

  private JComboBox box;
  private JTextField tf;
  private static String [] filename = {"button.png", "x.png"};

  public Gui(){
    super("The title is");
    setLayout(new FlowLayout());
    box = new JComboBox(filename);
    tf = new JTextField("This is a sentence", 14);

    box.addItemListener( new ItemListener() {
      public void itemStateChanged(ItemEvent event) {
        if(event.getStateChange()==ItemEvent.SELECTED) {
          tf.setFont(new Font("Serif", Font.BOLD, 14));
        }
      } 
    });

    add(box);
    add(tf);
  }
}   

Есть ли способ вернуть его обратно, если я выберу другого участника из выпадающего меню?

Ответы [ 3 ]

2 голосов
/ 15 июля 2011

Попробуйте:

tf.setFont(new Font("Serif", Font.PLAIN, 14));

Чтобы проверить, был ли выбран товар, используйте box.getSelectedItem() или box.getSelectedIndex().

Например:

public void itemStateChanged(ItemEvent event){
    if(event.getStateChange()==ItemEvent.SELECTED){
        if (box.getSelectedIndex()==0) 
            tf.setFont(new Font("Serif", Font.BOLD, 14));  //first item selected
        else 
            tf.setFont(new Font("Serif", Font.PLAIN, 14)); //second item selected
    }
}
0 голосов
/ 15 июля 2011
box.addActionListener(new java.awt.event.ActionListener() {
     public void actionPerformed(java.awt.event.ActionEvent evt) {
         tf.setFont(new Font("Serif", Font.BOLD, 14));

     }
});

Попробуй это!

0 голосов
/ 15 июля 2011

Как насчет использования getFont, чтобы увидеть, что у вас есть, протестировать его и, исходя из ваших тестовых изменений, что вы хотите?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...