我正在使用EPOS系统,作为程序的一部分,我正在生成存储在ArrayList中的所有项目的GridLayout。在项目ArrayList中,所有对象都存储有必要的成员变量,例如名称,条形码和价格。我目前已经完成了网格填充,但是按钮是无动作的,我不太确定如何处理类中的数据,是否有某种方法可以分配当前项目对象的值被迭代到正在制作的按钮上?因为每个按钮都是由我的代码制作的,而不是手工制作的#34;。相关代码如下:
public class gridCreator extends JFrame {
ObjectCreator obj = new ObjectCreator();
GridLayout itemGrid = new GridLayout();
JFrame frame = new JFrame("pls work");
static gridCreator instance;
public static void main(String[] args) throws FileNotFoundException {
instance = new gridCreator();
instance.createGrids();
instance.createAndShowGUI();
}
public void createGrids() throws FileNotFoundException{
obj.loadItems();
itemGrid.setColumns(20);
itemGrid.setRows(4);
for (ObjectCreator.Item item : obj.items){
addComponentsToPane(item);
}
}
private void addComponentsToPane(ObjectCreator.Item item) {
JButton button = new JButton(item.getName());
frame.add(button);
}
作为旁注,ObjectCreator类是对象本身的制作地点。
答案 0 :(得分:3)
您可以使类实现 public class Service1 : IService1
{
public List<Dictionary<string, object>> GetData(string query)
{
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
...
...
return rows;
}
}
public interface IService1
{
[WebGet()]
[OperationContract]
List<Dictionary<string, object>> GetData();
}
,并分配actionListener的所有按钮:
ActionListener
然后,在JFrame的动作侦听器中,您可以进行特定于案例的操作。