我有一個即時編碼的字典。它現在在準系統中。這是我第一個揮杆項目。包含main方法的類如下:如何在JTextArea可用於寫入之前驗證對JTextField的輸入?
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class TestDemo
{
public static void main (String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
// TODO Auto-generated method stub
JFrame frm = new MainFrame("First Window");
frm.setVisible(true);
frm.setSize(500, 500);
frm.setLocationRelativeTo(null);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
});
}
}
然後,我有這個類,創建你看到的初始屏幕: 進口java.awt.BorderLayout中; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
public class MainFrame extends JFrame{
public MainFrame(String title) {
// TODO Auto-generated constructor stub
super(title);
// Set the Layout Manager
setLayout(new BorderLayout());
// Create Swing components
//Text Fields
JButton btn = new JButton("Continue");
JRadioButton addWord = new JRadioButton("Add Word to the Dictionary");
// Add Swing Components to content pane
Container c = getContentPane();
c.add(btn, BorderLayout.SOUTH);
c.add(addWord, BorderLayout.CENTER);
//Add behaviour of Buttons.
btn.addActionListener(new ActionListener(){
// This is when your button is clicked
@Override
public void actionPerformed(ActionEvent e) {
if(addWord.isSelected()==true){
new addWordFrame();
}
}
});
}
}
到目前爲止只有一個按鈕,即將單詞添加到字典中。如果按下它,它會打開一個新窗口。新窗口將有一個文本輸入字段,詢問該單詞。一旦它檢查到該單詞是一個有效的字符串,它會要求定義。如果該單詞不是有效的字符串,它不會讓您在「定義」字段中輸入文本。這是我到目前爲止有:
import javax.swing.JFrame;
public class addWordFrame extends JFrame{
public addWordFrame(){
super("Adding a word to the dictionary");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
我怎樣才能使它所以當你輸入單詞,它不會讓你之前輸入有效的字符串,你輸入一個定義?附:我想單詞選項是一個jtextfield和定義一個jtextarea。我希望這是可讀的im匆忙,所以它的馬虎,但我只是想練習。
'的setEnabled(假)' –
* 「..它打開了一個新窗口。」 *請參閱[多JFrames,好/壞習慣的用?(HTTP:// stackoverflow.com/q/9554636/418556) –