0
JTextFields
の内容を読み込み、内容をパラレル配列に保存しようとしていますが、これはreadFields()
メソッドに入りますが、どこから開始するのかわかりませんアレイにも非常に新しい内容をJTextFieldから配列に保存する
私のコードは
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class EmployeesApplet extends JApplet implements ActionListener
{
public JButton sd = new JButton ("Salaried");
public JButton hr = new JButton ("Hourly");
public JButton cm = new JButton ("Commissioned");
public JButton cl = new JButton ("Clear");
private final int FIELDS = 8,
FIELD_WIDTH = 20;
private String[] strings = new String[FIELDS];
private TextFieldWithLabel[] tf = new TextFieldWithLabel[FIELDS];
private JTextArea ta = new JTextArea(5,25);
public void init()
{
String[] s = {"First Name", "Last Name", "Employee ID", "(a) Salaried: Weekly Salary", "(b1) Hourly 1: Rate Per Hour",
"(b2) Hourly 2: Hours Worked" , "(c1) Commissioned: Rate", "(c2) Commissioned: Gross Sales" };
//----------------------
// Set up the Structure
//----------------------
Container c = getContentPane();
JPanel f = new JPanel(new FlowLayout());
JPanel b = new JPanel(new BorderLayout(2,0));
JPanel glb = new JPanel(new GridLayout(8,1,0,2));
JPanel gtf = new JPanel(new GridLayout(8,1,0,2));
JPanel flb = new JPanel(new FlowLayout());
// Add FlowLayout to the container
c.add(f);
// Add BorderLayout to the FlowLayout
f.add(b);
//---------------------------------------
//Add JPanels to the BorderLayout regions
//---------------------------------------
// Add JLables to GridLayout in West
b.add(glb, BorderLayout.WEST);
for (int i = 0; i < tf.length; i++)
{
tf[i] = new TextFieldWithLabel(s[i], FIELD_WIDTH);
glb.add(tf[i].getLabel());
}
// Add JTextFeilds to GridLayout in East
b.add(gtf, BorderLayout.EAST);
for (int i = 0; i < tf.length; i++)
{
tf[i] = new TextFieldWithLabel(s[i], FIELD_WIDTH);
tf[i].getTextField();
gtf.add(tf[i].getTextField());
}
// Add JButtons to FlowLayout in South
b.add(flb, BorderLayout.SOUTH);
flb.add(sd);
flb.add(hr);
flb.add(cm);
flb.add(cl);
sd.addActionListener(this);
hr.addActionListener(this);
cm.addActionListener(this);
cl.addActionListener(this);
// Add JTextArea and make it not editable
f.add(ta);
ta.setEditable(false);
}
//---------------------------------------
// Read all the JTextFields and
// save the contents in a parallel array
//---------------------------------------
public void readFields()
{
}
public void fieldsExist()
{
}
public void fieldsEmpty()
{
}
public void actionPerformed(ActionEvent e)
{
}
}
を下回っており、conceptuので、私は
import javax.swing.*;
public class TextFieldWithLabel
{
private FormJTextField text_field;
private JLabel label;
private final static int WIDTH = 20;
public TextFieldWithLabel (String s, int w)
{
label = new JLabel(s);
text_field = new FormJTextField(w);
}
public JLabel getLabel() {return label;}
public FormJTextField getTextField() {return text_field;}
public String getText() {return text_field.getText();}
}
// -----------------------------------
// Problem Description:
// Inheritance from JTextField Class
//
// Demonstrates:
// Inheritance in Java
// (1) super method
// (2) private member function
// (3) private static data members
// -----------------------------------
import javax.swing.*;
import java.awt.*;
public class FormJTextField extends JTextField
{
private final static int FONT_SIZE = 14;
private final static int RED_LEVEL = 220; // 0 -> 255 allowed
private final static int GREEN_LEVEL = 220; // 0 -> 255 allowed
private final static int BLUE_LEVEL = 100; // 0 -> 255 allowed
private final static int WIDTH = 20;
// -------------------------------------------------------------
// Default constructor creates a JTextField with a default width
// -------------------------------------------------------------
public FormJTextField()
{
super("", WIDTH);
}
// ----------------------------------------------------
// Create a JTextField with a width equal to the String
// length and initially display the supplied String
// ----------------------------------------------------
public FormJTextField(String s)
{
super(s);
}
// ------------------------------------------------
// Create a JTextField using the supplied width and
// initially display the supplied String
// ------------------------------------------------
public FormJTextField(String s, int w)
{
super(s, w);
}
// -------------------------------------------
// Create a JTextField with the supplied width
// -------------------------------------------
public FormJTextField(int w)
{
super(w);
}
}
ができ、例えば、
FIELDS - 1
に0
から数えるとtf
配列内の各フィールドからテキストを取得し、対応するstrings
要素に値を割り当てることができ、ループのいくつかの種類を必要としますTextFieldWithLabelオブジェクトを取得した場所を投稿しますか? –@ A.Sharmaのこと – Beeeee
FormJTextFieldクラスが必要です。 –