我是一名高中生,制作一个flashcards程序,用户可以存储写入文本文件的集合和单词。这些集以网格包布局显示在主屏幕上。
设置名称,主题和卡数是标签,而添加单词,播放和删除集是按钮。
当用户点击任何按钮时,他们应该能够与所选择的组进行交互。 按钮全部工作,但我遇到的问题是程序无法告诉哪个按钮属于哪个按钮。
如果有某种方法可以找到单击按钮的列,我可以将其与文本文件对应,并在其上设置名称。
按钮是彼此的所有副本,并且不存储在数组中。
我的按钮操作列表:
btnAddWords.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent p) {
frmWords s = new frmWords(deckName, newXPoint, newYPoint);
s.setVisible(true);
}
});
我的按钮声明:
JButton btnAddWords = new JButton("Add Words");
btnAddWords.setOpaque(false);
btnAddWords.setContentAreaFilled(false);
btnAddWords.setBorder(null);
btnAddWords.setBorderPainted(false);
JButton btnPlay = new JButton("Play");
btnPlay.setOpaque(false);
btnPlay.setContentAreaFilled(false);
btnPlay.setBorder(null);
btnPlay.setBorderPainted(false);
JButton btnDelete = new JButton("Delete Set");
btnDelete.setOpaque(false);
btnDelete.setContentAreaFilled(false);
btnDelete.setBorder(null);
btnDelete.setBorderPainted(false);
这是我的Grid Bag设置:
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 0;
gbc.gridy = i;
layoutBackground.add(lblDeckName[i],gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = i;
layoutBackground.add(new JLabel(" "),gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx =2;
gbc.gridy = i;
layoutBackground.add(new JLabel (subject),gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 3;
gbc.gridy = i;
layoutBackground.add(new JLabel(" "),gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 4;
gbc.gridy = i;
layoutBackground.add(new JLabel(strLineNumber2),gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 5;
gbc.gridy = i;
layoutBackground.add(new JLabel(" | "),gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 6;
gbc.gridy = i;
layoutBackground.add(btnAddWords,gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 7;
gbc.gridy = i;
layoutBackground.add(new JLabel(" | "),gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 8;
gbc.gridy = i;
layoutBackground.add(layoutBackground.add(btnPlay),gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 9;
gbc.gridy = i;
layoutBackground.add(new JLabel(" | "),gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 10;
gbc.gridy = i;
layoutBackground.add(btnDelete,gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 11;
gbc.gridy = i;
layoutBackground.add(new JLabel(" |"),gbc);
如果有更好的方法可以做到这一点,我很乐意学会如何做到这一点,否则,如果你能指出我正确的方向,那将是惊人的!
谢谢堆!!!! :)