PDA

View Full Version : سوال: یه سوال در مورد غیر قابل دسترسی textfield



capitan_nemesis
شنبه 02 مرداد 1395, 15:02 عصر
با سلام
من میخوام با کد textfield رو تار کنم و غیر قابل دسترسی از نظر دید کاربر
داستان به این قرار هستش
یه نرم افزار مدیریت هستش دارم مینویسم و این که قسمتی به اسم ثبت بانک داره و هم صندوق ذخیره میکنه و میخوام اگر صندوق بود تمام اعملیات روی بانک غیر فعال بشه و کسی نتونه داخلش بنویسه
یا همون غیر فعال بشه کامل غیب نشه

ممنون

String bank = "بانک";
String cash = "صندوق";

initComponents();
setResizable(false);
setIconImage(new ImageIcon(getClass().getResource("Icon.png")).getImage());

combobank.addItem("");
combobank.addItem(bank);
combobank.addItem(cash);

bankName.setVisible(true);

if (cash.contains(cash))
{
bankName.setVisible(false);
}
else
{

}

capitan_nemesis
یک شنبه 03 مرداد 1395, 11:21 صبح
الو صاحب خونه کسی هست

vahid-p
یک شنبه 03 مرداد 1395, 13:15 عصر
چندین متد در این زمینه داریم:
- setEnabled که باکس رو در حالت غیرفعال (کمرنگ و غیرقابل تغییر تبدیل میکنه)
- setEditable که نوشته رو کمرنگ نمیکنه ولی نمیشه اون رو تغییر داد.
- setVisible که برای نمایش یا عدم نمایش باکس هست.

و شما احتمالا همون setEnabled رو میخواید. اینم یک مثال:
import java.awt.FlowLayout;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class Frame extends JFrame{
JTextField textField;
JButton button;
JPanel panel;
public Frame(){
super("Test");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300,150);
panel=new JPanel(new FlowLayout());
textField=new JTextField("Text Input");
button=new JButton("Enable/Disable");
panel.add(textField);
panel.add(button);
add(panel);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(textField.isEnabled()){
textField.setEnabled(false);
}else{
textField.setEnabled(true);
}
}
});
}
public static void main(String[] args) {
new Frame().setVisible(true);

}
}

capitan_nemesis
یک شنبه 03 مرداد 1395, 16:30 عصر
ممنون بابت کد بالا و راهنمایی
یه مشکل دیگه بر خوردم شدید
من یه combo دارم دو مقدار بانک و صندوق داخلشه
حالا میخوام
اگر صندوق انتخاب شد textfield پایین غیر فعال بشه چکار کنم
تو if هر چی نوشتم با مشکل رو به رو شدم

String bank = "بانک";
String cash = "صندوق";

initComponents();
setResizable(false);
setIconImage(new ImageIcon(getClass().getResource("Icon.png")).getImage());

combobank.addItem("");
combobank.addItem(bank);
combobank.addItem(cash);

bankName.setEnabled(true);

if()
{

}

capitan_nemesis
دوشنبه 04 مرداد 1395, 15:21 عصر
الو الو کسی هست

vahid-p
دوشنبه 04 مرداد 1395, 15:36 عصر
لطفا پست های اسپم نذارید. "الو صاحب خونه کسی هست" و...

به نظرم بهتره ابتدا مفاهیم و مقدمات جاوا رو از رو کتاب یا منبع اینترنتی یادبگیرید و بعد شروع به نوشتن کنید.

به هر حال.
برای چنین کاری شما باید یک listener به combobox نسبت بدید.
برای combobox تو این لینک آخرش یه مثال زده دقیقا به کار شما میاد: http://www.tutorialspoint.com/swing/swing_jcombobox.htm