【发布时间】:2012-11-14 23:11:45
【问题描述】:
也许你可以在这里帮助我:)
我想“模拟”比如 10 个机器站。在我的JFrame/Container(我都试过了)我把这 10 个机器(= 10 个 JPanels 包含 x 按钮,文本字段,任何我想要的设计),我想在每个机器上都有不同的信息并改变它们满足我的需要。
我尝试用JButton 更改JTextField 的值(例如设置机器的优先级+1。但我无法区分这10 个“优先级提高”按钮:(
你是怎么做到的?我的想法是以某种方式与它来自的JPanel 交谈,但我不能。
Container wizardFrame = new JFrame();
wizardFrame.setLayout(new GridLayout(2,5));
String Name;
for(int i = 1; i < 11; i++){
Name = "Maschine " + i;
fillWizardFrame(wizardFrame, Name, i);
}
wizardFrame.setVisible(true);
}
public void fillWizardFrame(Container wizardFrame, String Name, int i) {
JPanel MaschineId = new JPanel();
MaschineId.setLayout(new BorderLayout());
JTextField maschineName = new JTextField(Name ,10);
MaschineId.add(maschineName, BorderLayout.WEST);
maschinePrioritaet = new JTextField("20",10);
MaschineId.add(maschinePrioritaet,BorderLayout.CENTER);
JButton Higher = new JButton("Higher " + i); Higher.addActionListener(this);
MaschineId.add(Higher, BorderLayout.NORTH);
wizardFrame.add(MaschineId);
}
@Override
public void actionPerformed(ActionEvent event) {
if(event.getActionCommand().contains("Higher")){
System.out.println("Higher pressed " + event.getActionCommand());
}
// i tried .getID , .getSource etc... :/
}
我想用我的“更高”按钮更改maschinePrioritaet 的值,但我不能...这件事花了我几个小时的搜索和尝试,但无法找到。
非常感谢您的帮助!
最好的,安德里亚
【问题讨论】:
-
尽量遵守 Java 命名约定(类以大写字母开头,变量以小写字母开头)。这样便于阅读代码
-
谢谢。我有点不习惯,对不起:/link
标签: java swing jframe jpanel jtextfield