// IntArray
public class IntArray {
private int[] nums;
private int size;
public IntArray() {
this(10);
}
public IntArray(int size) {
nums = new int[size];
this.size = size;
}
public void set(int index, int value) {
if (index >= size) {
nums = resize(index + 1);
}
nums[index] = value;
}
public int get(int index) {
return nums[index];
}
private int[] resize(int newSize) {
int[] temp = new int[newSize];
int max = Math.min(size, newSize);
for (int i = 0; i < max; i++) {
temp[i] = nums[i];
}
size = newSize;
return temp;
}
public String toString() {
java.util.Vector output = new java.util.Vector();
for (int i = 0; i < size; i++) {
output.add(new Integer(nums[i]));
}
return output.toString();
}
public static void main(String[] args) {
IntArray x = new IntArray();
x.set(0, 4);
x.set(5, 1);
x.set(15, 15);
System.out.println(x);
}
}
// GUI Driver
/*
* @(#)ArrayMe.java 1.0 03/02/19
*
* You can modify the template of this file in the
* directory ..\JCreator\Templates\Template_1\Project_Name.java
*
* You can also create your own project template by making a new
* folder in the directory ..\JCreator\Template\. Use the other
* templates as examples.
*
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ArrayMe extends JFrame {
JTextField index = new JTextField("0",3);
JTextField value = new JTextField("0",3);
JLabel iLabel = new JLabel(" index:");
JLabel vLabel = new JLabel(" value:");
JButton insert = new JButton("Insert");
JButton reset = new JButton("Reset");
JPanel inputs = new JPanel();
JTextArea output = new JTextArea();
JScrollPane scroller = new JScrollPane(output);
IntArray data = new IntArray();
public ArrayMe() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
inputs.add(iLabel);
inputs.add(index);
inputs.add(vLabel);
inputs.add(value);
inputs.add(insert);
inputs.add(reset);
Container c = getContentPane();
c.add(inputs, BorderLayout.NORTH);
c.add(scroller, BorderLayout.CENTER);
ActionListener insertIt = new InsertListener();
insert.addActionListener(insertIt);
index.addActionListener(insertIt);
value.addActionListener(insertIt);
reset.addActionListener(new ResetListener());
}
public static void main(String args[]) {
System.out.println("Starting ArrayMe...");
ArrayMe mainFrame = new ArrayMe();
mainFrame.setSize(400, 300);
mainFrame.setTitle("ArrayMe");
mainFrame.setVisible(true);
}
private class InsertListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
int loc = Integer.parseInt(index.getText());
int val = Integer.parseInt(value.getText());
data.set(loc, val);
updateOutput();
index.selectAll();
value.selectAll();
index.requestFocus();
}
}
private class ResetListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
data = new IntArray();
updateOutput();
}
}
private void updateOutput() {
output.setText(data.toString());
}
}