ورود

View Full Version : سوال: رویداد کلیک



jiya200
چهارشنبه 16 دی 1388, 10:47 صبح
سلام
من به کد های زیر در جاوا نیاز فوری دارم
1- بر روی لیستی select کنم و مورد انتخابی در یک text box نمایش داده شود
2- سه عدد list menu دارم اگر از لیست اول 1 را انتخاب کنم محتویات لیست دومی فعال شود و بعد از فعال شدن محتویات لیست دومی با انتخاب 2 محتویات لیست سوم فعال شود.


منتظر جواب حرفه ای شما هستم :عصبانی++:

java_nith
پنج شنبه 17 دی 1388, 19:27 عصر
این کد رو برای سواله اوله شما نوشتم
جواب سوال ۲دوم رو نمیدونم
شاید از یه عالم IF بشه این کارو کرد ولی‌ حتما راه حل‌های بهتری هم است که اگه دوستان بدانند بگن


کلا ListSelectionListener کار شمارو راه میندازه
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/event/ListSelectionListener.html


import java.awt.*;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.JOptionPane.*;


public class ListTest extends JFrame implements ListSelectionListener{

private JList list;
private JTextField field;
private JOptionPane pane;

public ListTest(){
init();
setVisible(true);
setSize(300, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public void init(){
setLayout(new GridLayout());

list = new JList();
String[] data = {"Jan", "Feb", "Mar", "Apr", "Mai", "Jun"};
list.setListData(data);
list.addListSelectionListener(this);
add(list);

field = new JTextField();
Font a = new Font("Serif", Font.BOLD, 20);
field.setFont(a);
field.setEditable(false);
add(field);
}

public void birtChek(String data){
if(data.equals("Jun")){
pane = new JOptionPane();
pane.showMessageDialog(null, "you have choice my birthday month");
}
}

@Override
public void valueChanged(ListSelectionEvent e) {
field.setText(""+list.getSelectedValue());
birtChek(""+list.getSelectedValue());
}

public static void main(String [] args){
new ListTest();
}

}